2016-02-06 186 views
2

我有以下表格: enter image description hereLibreCalc计算时间差

我需要时间(C2)和超时(F2),并找出如何下午6点至早上6点之间多小时已经奏效。

因此,如果员工在下午4点钟时钟开始工作到凌晨1点,则字段J2应为7读取第二次换档差速器。

我已经尝试了很多公式,我知道我拥有的公式并不正确。因为它仅仅是减去两个日期并给出结果,因此现在有-12。

在此先感谢您一如既往的亲友!

+0

诀窍是如果是在午夜之后,将1(1天= 24小时)加到结束时间。稍后尝试发布内容。 –

回答

3

标准公式是

MIN(t1upper,t2upper)-max(t1lower,t2lower) 

其中t1lower是夜率的开始,t1upper是夜率的端部,是t2lower移和t2upper的开始移位的端部。

但是在这种情况下,如果在小时间内,您必须添加一个(即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中计算器测试 - 我假设LibreCalc将是相同的)

enter image description here

有是我没有考虑过的两种情况(对不起)

(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

enter image description here