我需要花时间(C2)和超时(F2)并找出下午6点到早上6点之间的工作时间。
因此,如果员工在下午4点钟进入并工作到凌晨1点,那么对于第二个班次差异,字段J2应该读为7。
我尝试了很多公式,但我知道我拥有的公式也不对。因为它只是减去2个日期并给出结果因此现在有-12。
一如既往地感谢大家!
答案 0 :(得分:3)
标准公式是
MIN(t1upper,t2upper)-max(t1lower,t2lower)
其中t1lower是夜间率的开始,t1upper是夜间率的结束,t2lower是班次的开始,而t2uper是班次的结束。
但是在这种情况下,你必须在完成时间内加上一个(即24小时),如果是在小时内:夜晚的结束时间也是30:00。
我已将夜间开始和结束时间分为A2和B2,因此我的公式为
=MIN($B$2;IF(F2<D2;F2+1;F2))-MAX($A$2;D2)
或略短
=MIN($B$2;F2+(F2<D2))-MAX($A$2;D2)
(在OpenOffice Calc中测试 - 我假设LibreCalc将是相同的)
有两种情况我没有考虑过(抱歉)
(1)这种转变完全是在白天,所以没有换档差异,结果会变成负数,所以你需要将其视为零: -
=MAX(MIN($B$2;IF(F2<D2;F2+1;F2))-MAX($A$2;D2);0)
(2)班次从午夜到早上6点开始,因此您需要考虑0:00-6:00以及18:00-30:00的范围。把这一切放在一起给出了: -
=MAX(MIN($B$2;F2)-MAX($A$2;D2);0)+MAX(MIN($B$3;IF(F2<D2;F2+1;F2))-MAX($A$3;D2);0)
其中A2现在包含0:00,B2包含6:00,A3包含18:00而B3包含30:00