我希望你能帮忙。我从数据源中收集了 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
=COUNTIF($C$2:$C$25,"="&C2)-SUMPRODUCT(($C$2:$C$25=C2)*($D$2:$D$25>D2))
=SUMPRODUCT(($C$2:$C$25=C2)*($F$2:$F$25=1)*($D$2:$D$25))
=SUMPRODUCT(($C$2:$C$25=C2)*($E$2:$E$25=1)*($D$2:$D$25))
=H2-G2
我假设你的时间可能不一定按顺序排列 - 否则我们可以稍微简化这个解决方案。