Excel:如果另一列中有非零值,则对某一范围的单元格求和

Excel:如果另一列中有非零值,则对某一范围的单元格求和

我有一张如下的电子表格:

ID  time    Episode    mints

1   5:00PM  0   
1   6:00PM  1          10

1   6:10PM  0   
1   6:30PM  0   
2   1:00AM  0   
2   2:00AM  1          60

2   3:00AM  0   
2   1:00AM  2          30

2   1:10AM  3   
2   1:20AM  4   
2   1:30AM  0   

我想计算行具有第一个非零值与行达到第一个 0 之间的时间差。例如,在 ID1 中,持续时间为下午 6:10 - 下午 6:00,即 10 分钟。

我不知怎的觉得我应该使用 match() 和 index() 函数但经过几次尝试后,我还是没有成功。

答案1

如果您说一行中永远不会有超过 2-4 个非 0 数字,那么一系列嵌套的 if 或余数可能会在这里发挥作用。基本上,您会问“我有一个非 0 数字吗?(=if(A1=0,True,False)。如果它是 0,您不必在意,继续。(True ="")。如果不是 0,请查找下一个数字,检查它是否为 0。(=if(B1=0,true, false)。如果是 0,太好了!True=(B2-A2)。否则,重复,但使用 C1 而不是 B1。嵌套几个 if,您就会得到一个笨重的、有条件的、可行的解决方案。

还有更好的解决方案,我只是无法立即想到一个。

相关内容