答案1
坦白说,第一张表可能适合人类阅读,但不适合计算机计算或做一些统计。要得到第二张表,理想很简单——得到分割的每个月 每个活动 每个类别 费用(并将它们存储到一些辅助单元格中),然后相应地将它们相加。要获得分摊的费用,我们首先需要获得一个标志,以判断给定月份是否属于时间范围。
我假设您需要十二个月。我还假设起始月份的单元格的日期为该月的第一天(例如,B2
2017 年 4 月为 2017-04-01),因此,终止月份的单元格的日期为该月的最后一天(例如,2017 年 6 月为 2017-06-30 C2
)。
旗帜:使用
H1
到S1
作为每个月的日期,即 01/2017 (2017-01-01)、02/2017 (2017-02-01)、...、12/2017 (2017-12-01),并使用列左侧单元格H
作为S
该月份是否在范围内的标志。在 中H2
,使用公式=AND($B2<=H$1,H$1<=$C2)
。$
警告:请注意公式中的不同用法,以便对单元格进行绝对引用,从而轻松复制。这意味着如果当前月份(当前列的顶行)介于起始月份和终止月份之间,则返回 true,否则返回 false。然后将此公式复制到右侧直到列S
,并向下复制到最后一个事件。数数:使用列
T
作为要分摊费用的月份的计数器。 中的公式T2
是=COUNTIF(H2:S2,TRUE)
,然后将公式复制下来。各类别分摊费用:
$
再次请注意下列公式中的用法。3.1 第一类:使用列
U
至AF
(第 1 组 12 列)作为第 1 个类别(即“广告”)的分摊费用;公式为U2
,=IF(H2,$E2/$T2,0)
表示如果该月的标志为真(即该月在范围内),则返回分摊费用(广告费用/月数),否则为零。然后向右复制(直到 列AF
),向下复制。3.2 第二类:使用列
AG
至AR
(第 2 组 12 列)作为第 2 类,即“展览会及研讨会”的分项费用;公式为AG2
。=IF(H2,$F2/$T2,0)
然后向右复制(直到AR
)并向下复制。3.3 第三类:使用列
AS
至BD
(第 3 组 12 列)作为第 3 类,即“住宿”的分项费用;公式为AS2
。=IF(H2,$G2/$T2,0)
然后向右复制(直到BD
)并向下复制。总结一下:表二中,对每个月的所有事件,汇总相应的费用。