具有连续日期的每个项目的总值

时间:2017-05-03 15:09:19

标签: excel excel-formula excel-2010

我尝试计算每条“线”的总值如下,但是,计算只包含连续日期。
我尝试使用“sumif”函数但不能管理连续日期条件:

Date               | Line   |Performance
-------------------|--------|------------------
02-May-2017        |   X    |10
02-May-2017        |   Y    |82
03-May-2017        |   X    |31
03-May-2017        |   Z    |25
03-May-2017        |   K    |15
04-May-2017        |   Y    |60
05-May-2017        |   Y    |75
05-May-2017        |   K    |66
05-May-2017        |   Z    |43
06-May-2017        |   Y    |56
06-May-2017        |   Z    |67

enter image description here

预期结果:

X = 41 (2, 3 May 2017 as consecutive dates)
Y = 191 (4,5,6 May 2017)
Z = 110 (5,6 May 2017)

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

首先,您需要一个辅助列(让它在D:D中生成)以确定该行是否属于连续范围:

=OR(COUNTIFS($A:$A,$A2-1,$B:$B,$B2)>0,COUNTIFS($A:$A,$A2+1,$B:$B,$B2)>0)

然后你按照X, Y, Z计算总和:

=SUMIFS($C:$C,$B:$B,"X",$D:$D,TRUE)
=SUMIFS($C:$C,$B:$B,"Y",$D:$D,TRUE)
=SUMIFS($C:$C,$B:$B,"Z",$D:$D,TRUE)

答案 1 :(得分:0)

CustomX的评论仍有待解决。

在此之前,并假设您选择了 Line ,例如E2中的“{”,F2中的数组公式**

=SUM(IF(B$2:B$12=E2,IF(MMULT(0+ISNUMBER(MATCH(A$2:A$12-{1,-1},IF(B$2:B$12=E2,A$2:A$12),0)),{1;1}),C$2:C$12)))

向下复制,为E3E4等中的提供类似的结果。

**数组公式的输入方式与“标准”公式的输入方式不同。不要只按 ENTER ,而是先按住 CTRL SHIFT ,然后再按 ENTER 。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。