我正在尝试使用SUM和SUMIF创建一个excel公式,但找不到如何。
我有一个第一列(A),它是一项工作的总时间,然后是每一行每天在该任务中花费的时间(列B,C,......)。
对于每一天(列B,C,......),公式将仅返回A列中(对于该特定列)与那天已完成的任务相关的那些值的总和:总和行中所有单元格的大小等于或大于分配任务的时间。
A B C D E
12 4 6 2 0
使用公式:
A B C D E
12 4 6 2 0
0 0 0 12 0
其中12显示在D列中,因为4 + 6 + 2 = 12(A列)
A B C D E
10 9 0 1 0
21 8 8 5 0
5 0 0 3 2
使用公式:
A B C D E
10 9 0 1 0
21 8 8 5 0
5 0 0 3 2
0 0 0 31 5
其中:
31(第D天)= 10(任务1当天结束)+ 21(任务2也完成当天)
5(第E天)=任务3当天结束
尝试了这个公式(对于B日):
SUMIF(B1:B3,">=A1:A3",A1:A3)
(如果该行中的单元格p到列B(在这种情况下只是B)中的单元格> =而不是那些迭代的单元格,则将A列中的值相加。
然后对于C列,它将是,
SUMIF(C1:C3 + B1:B3,">=A1:A3",A1:A3)
以上示例不起作用(首先返回零,第二个是无效公式), 有任何想法吗?
谢谢。
答案 0 :(得分:0)
用户ServerS给出的下面的公式运行正常:
Col B:
=IF(SUM(B2)=A2,A2,0)+IF(SUM(B3)=A3,A3,0)+IF(SUM(B4)=A4,A4,0)+IF(SUM(B5)=A5,A5,0)
Col C:
=IF(SUM(B2:C2)=A2,A2,0)+IF(SUM(B3:C3)=A3,A3,0)+IF(SUM(B4:C4)=A4,A4,0)+IF(SUM(B5:C5)=A5,A5,0)
Col D
=IF(SUM(B2:D2)=A2,A2,0)+IF(SUM(B3:D3)=A3,A3,0)+IF(SUM(B4:D4)=A4,A4,0)+IF(SUM(B5:D5)=A5,A5,0)
然而,有两个不便之处: 如果添加了新行,则需要对其进行调整并包含另一个IF()。如果是IF,最好有一个通用的SUM 试图将公式传播到相邻的单元格是不可能的,因为它会将公式的一部分更改为“= A2,A2,0”到“= A3,A3,0”,这需要保持不变。
如果可能的话,任何其他可以改善这种想法的想法都会受到赞赏。
答案 1 :(得分:0)
您可以避免使用带有sumproduct的IF。此方法允许用于插入所需的任何行。确保范围正确(例如A2:A5,最后一行使用5)。我会这样做:
B栏中的:
=SOMMEPROD(($A$2:$A$5)*($A$2:$A$5=(B2:B5)))
C列中的:
=SUMPRODUCT(($A$2:$A$5)*($A$2:$A$5=(B2:B5+C2:C5)))-B6
D栏中的
=SUMPRODUCT(($A$2:$A$5)*($A$2:$A$5=(B2:B5+C2:C5+D2:D5)))-C6-B6
=SUMPRODUCT(($A$2:$A$5)*($A$2:$A$5=(B2:B5+C2:C5+D2:D5+E2:E5)))-D6-C6-B6