2016-02-06 182 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