我正在尝试计算设备的停机时间。我想只计算那个特定时间段的时间。我叫这个时间段Min&最长时间。所有时间戳都是日期,但是当日期改变时,时间应根据该时间计算。对于一个设备我能够做到这一点,但相同的公式不适用于下一个设备。
逻辑:时间戳是22:00,设备最后一个时间戳是6:00前。 最短时间为上午6:00至下午18:00
因此停机时间 2小时。最后一次设备通信时间是16:00小时&停机时间考虑在18:00。
答案 0 :(得分:0)
将其细分为步骤。我将使用Time(6,0,0)
和Time(18,0,0)
作为您的开始/结束时间,但您可能希望将它们作为单元格引用。我还将使用Min_Date
和Max_Date
作为您要比较的2个时间戳
第0步:检查日期是否相同 - 如果是,请按正常方式计算。否则,继续执行下一步:
=MEDIAN(TIME(6,0,0), Mod(Max_Date,1), Time(18,0,0)) - MEDIAN(TIME(6,0,0), Mod(Min_Date,1), Time(18,0,0))
第1步: 完整天数停机时间是多少? (即2018-01-01 12:00
至2018-01-03 12:00
有1 全天,2018-01-02
)将此数字乘以每天的小时数:
=Max(Int(Max_Date)-Int(Min_Date)-1, 0) * (Time(18,0,0)-Time(6,0,0))
第2步: 第一天有多少是停机时间?
=TIME(18,0,0)-MEDIAN(TIME(6,0,0), Mod(Min_Date,1), Time(18,0,0))
第3步: 最后天有多少是停机时间?
=MEDIAN(TIME(6,0,0), Mod(Max_Date,1), Time(18,0,0))-TIME(6,0,0)
第4步:将第1步,第2步和第3步添加在一起
将这些组合成1个公式,然后voilá。