如何在excel中分隔列中的值

如何在excel中分隔列中的值,excel,formula,Excel,Formula,我有一个excel文件,包含两列时间和输出。 输出列由两个值1和2组成。 我想计算连续性中最后的总时间输出2,即结束时间-开始时间。 比如说 time output total 2 2 4-2=2 4 2 6 1 8 2 10-8=2 10

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

由于我的数据文件非常大,是否有一些简单的方法来实现这一点

在C2中尝试并复制:

=IF(AND(B2=2,B1<>2),INDEX($A2:$A$30000,MATCH(1,$B2:$B$30000,0)-1)-A2,"")
=IF(AND(B2=2,B12),索引($A2:$A$30000,匹配(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,"")
=IF(和(B2=2,B12),索引(A:A,聚合(15,6,第(2:$13)行)/(B2:$B$13.2),1)-1)-A2,”)


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

大家好,欢迎来到论坛。你的帖子有几个问题。1) 标题与你的问题不太相符,2)总计栏的第三个例子似乎不正确,应该是20-18=2,不是吗?3) 如果我理解正确,您可以通过在[C2]中添加“=A3-A2”并将公式复制粘贴到最下面一行来实现这一点。完全标准…你认为是20-18岁=2@amy请把答案标记为正确。这是只有你才能做的事。单击答案旁边的绿色复选标记。它将结束回答的问题,并奖励我分数。