Excel SUMIF 建议

Excel SUMIF 建议

我希望你能帮忙。我从数据源中收集了 Excel 数据。数据源有 3 个标题

Active,Occurrence,Time (seconds)

TRUE,    1, 0 
TRUE, 1, 12 
FALSE, 1, 12 
TRUE, 2, 12 
TRUE, 2, 16 
FALSE, 2, 16 

以上内容与处于活动状态或非活动状态的机器有关。当机器处于活动状态时,“发生”次数将增加并启动计时器。我试图计算与特定增加的发生次数相关的该机器为 TRUE 的“时间”。

例如,发生 1 = 12 秒,
发生 2 = 4 秒 (16 - 12)

编辑
在我当前看到的示例数据中,看到以下内容:

时间、活跃、发生、时间

11/09/14 12:13:48,假,6,236
11/09/14 12:53:48,真,7,236 11/09/14
12:53:49,真,7,237 11/09/14
12:53:55,真, 7,243
11/09/14 12:53:57,真,7,245
11/09/14 12:53:58,假,7,245

等等等等。

我希望针对特定事件(即 7)从第一个数字中减去最后一个数字,得到机器处于活动状态的总时间。所以在上面的例子中是 9 秒。

希望这是有意义的。

答案1

如果格式始终是“发生”具有一串 TRUE 值,最后以 FALSE 结束。那么您可以使用数据透视表来完成繁重的工作。

在下面的截图中,我创建了一个数据透视表,其中行包含发生次数,列包含活动次数,值包含最小值(时间)。要实现最小值(时间),只需将时间添加到数据透视表的值中,然后在数据透视表中右键单击它并选择汇总为>>最小值

然后,我在数据透视表的末尾添加了一个新公式,从 FALSE 列中减去 TRUE 列,以得到它们之间的差值。

在此处输入图片描述

答案2

您应该能够添加一些工作者列来获得您正在寻找的内容-例如:

=SUMPRODUCT(($C$2:$C$25=C2)*($D$2:$D$25>D2))+1

1

=COUNTIF($C$2:$C$25,"="&C2)-SUMPRODUCT(($C$2:$C$25=C2)*($D$2:$D$25>D2))

2

=SUMPRODUCT(($C$2:$C$25=C2)*($F$2:$F$25=1)*($D$2:$D$25))

3

=SUMPRODUCT(($C$2:$C$25=C2)*($E$2:$E$25=1)*($D$2:$D$25))

4

=H2-G2

5

我假设你的时间可能不一定按顺序排列 - 否则我们可以稍微简化这个解决方案。

相关内容