excel公式取决于不同列中的dynamic值

我正在尝试使用SUM和SUMIF创build一个Excel公式,但无法find如何。

我有第一列(A),这是一项工作的总时间,然后每一天在这一任务中花费的时间(B,C,…列)。

对于每一天(B,C,…列),公式将只返回列A中那些值的总和(对于该特定列),与当天已完成的任务相关:所有单元格的总和在一行中等于或大于分配任务的时间。

  • 一个12小时任务的例子:
ABCDE 12 4 6 2 0 

使用公式:

  ABCDE 12 4 6 2 0 0 0 0 12 0 

其中12显示在列D中,因为4 + 6 + 2 = 12(列A)


  • 第二个例子(3个任务):
  ABCDE 10 9 0 1 0 21 8 8 5 0 5 0 0 3 2 

使用公式:

  ABCDE 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) 

上面的例子没有工作(首先返回零,第二个是无效的公式),任何想法?

谢谢。

用户ServerS给出的公式工作正常:

上校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试图将公式传播到相邻单元格是不可能的,因为它会将公式的一部分(如“= A2,A2,0”)更改为“= A3,A3,0”保持不变。

任何其他的想法,如果可能的话,改善这一点,赞赏。

你可以避免使用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 

在E列

 =SUMPRODUCT(($A$2:$A$5)*($A$2:$A$5=(B2:B5+C2:C5+D2:D5+E2:E5)))-D6-C6-B6 

SUMPRODUCT