我有一个excel文件,其中包含两列时间和输出。 输出列由两个值1和2组成。 我想在连续性中计算总时间输出2,即结束时间 - 开始时间。 例如
time output total
2 2 4-2=2
4 2
6 1
8 2 10-8=2
10 2
12 1
14 1
16 1
18 2 22-18=4
20 2
22 2
这是否有一些简单的方法,因为我的数据文件非常大
答案 0 :(得分:0)
在C2中试一试并复制:
=IF(AND(B2=2,B1<>2),INDEX($A2:$A$30000,MATCH(1,$B2:$B$30000,0)-1)-A2,"")
唯一需要注意的是,B列中的最后一个值必须是1.否则它将无法正确进行最后一次计算。
如果你有Excel 2010或更高版本,这个公式并不关心B列中的最后一个值。但是根据行数它会在计算中变慢。
=IF(AND(B2=2,B1<>2),INDEX(A:A,AGGREGATE(15,6,ROW(2:$13)/($B2:$B$13 <>2),1)-1)-A2,"")
但它确实要求指定范围中的最后一行至少比最后一个数据行大一行。它可能会增加数千,但这会增加计算时间。