如何在excel中的列中分隔值

时间:2016-02-13 20:20:59

标签: excel formula

我有一个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

这是否有一些简单的方法,因为我的数据文件非常大

1 个答案:

答案 0 :(得分:0)

在C2中试一试并复制:

=IF(AND(B2=2,B1<>2),INDEX($A2:$A$30000,MATCH(1,$B2:$B$30000,0)-1)-A2,"")

唯一需要注意的是,B列中的最后一个值必须是1.否则它将无法正确进行最后一次计算。

enter image description here

如果你有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,"")

enter image description here

但它确实要求指定范围中的最后一行至少比最后一个数据行大一行。它可能会增加数千,但这会增加计算时间。