Excel怎样给许多时间段求和,其中有的时间段是重叠的,不需要累计计算

请教各位知道大神,Excel怎样给许多时间段求和,其中有的时间段是重叠的,不需要累计计算,如下图,如果要计算报警总时长,如果直接累加故障时长是不对的,应为其中有些报警时间是有重叠部分,各位大神请教一下如何求总时长。

本问题看似简单,但处理起来却颇费周折,要一个公式来计算更是有些无从下手。且如果如图所示,发生时间是升序,且没有3个及更多时间段重叠的情况下,通过辅助列先计算出无重叠时间,再合计求和。如果有3个或更多时间段重叠,公式要考虑多种情况,可能会相当复杂。如图,F列先计算去重叠时间:

F2=ROUND((D2-C2-IF(D3="",0,IF(D2>=C3,MIN(D2:D3)-C3,0)))*24*3600,0)

再求和:

F11=SUM(F2:F10)

追问

看了你的答案有了启发  ,想到办法了,不过你的答案还是有点问题的,还是感谢!

先把报警解除时间升序排列,然后将本次报警发生时间与上一次报警解除时间作比较,若小于上次报警解除时间,则在修正本次报警发生时间为上次报警解除时间,否则不变,然后拿本次报警解除时间减去修正后的报警发生时间,得到有效报警时长,再把有效报警时长求和就可以了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-21
就是里面有一样的不需要加进去吗 那就像函数那样选择你要加的求和就好了
第2个回答  2019-05-22
这么复杂的建议用代码,首先按发生的时间升序。
第3个回答  2019-05-21
没看懂什么意思,所谓的重叠是指什么追问

比如A报警 10:00-10:20 总长20分钟,B报警10:10-10:30 总长20分钟,总报警时长为30分钟,而不是40分钟,应为中间有10分钟是重复的,而我要求的就是这个30分钟这个结果。