2014-01-22 139 views
0

我已經寫了下面的Excel公式來計算工作時間兩個日期之間的兩個天時間*(不包括坐在星期日)*。計算工作日,在Excel

如果開始和結束日期在星期一至星期五之間,它會很好用。如果兩天都包括星期日或星期日,則會引發錯誤。

我期待幫助,如果開始日期是在週六或週日就應該採取下一個營業日爲起始日,如果結束日期是在週六或週日就應該採取一個營業日的結束日。


下面的例子中,我的workings.Then它應該返回結果H:mm格式


Startdate  : enddate   : Working hours(exc sat and sun) 
9/28/2013 2:20 : 9/29/2013 2:39 : Both 
9/29/2013 2:39 : 9/29/2013 2:39 : Both 
9/29/2013 2:39 : 9/27/2013 13:18 : StartDate 
9/27/2013 13:18 : 9/29/2013 2:22 : Enddate 
10/1/2013 21:22 : 10/2/2013 0:33 : 3.10 
9/30/2013 2:22 : 9/30/2013 5:22 : 3.00 

和公式中C2

=IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7,WEEKDAY(B2)=1,WEEKDAY(B2)=7),IF(AND(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),OR(WEEKDAY(B2)=1,WEEKDAY(B2)=7)),"Both",IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),"StartDate","Enddate")),TEXT(B2-A2-(NETWORKDAYS.INTL(A2,B2,"0000000")-NETWORKDAYS(A2,B2)),"D")*24+TEXT(B2-A2-(NETWORKDAYS.INTL(A2,B2,"0000000")-NETWORKDAYS(A2,B2)),"H.MM")) 

讓我知道你是否需要任何幫助

+0

一天有多少個工作小時? – Taosique

+0

24小時(全天) –

回答

2

要計算整個工作日內兩個日期之間,不包括日期:

=MAX(NETWORKDAYS.INTL(A1+1,B1-1),0) 

要計算的第一天工作時間(剩餘直到一天結束):

=IF(WEEKDAY(A1,2)<=5,ROUNDDOWN(A1+1,0)-A1,0) 

要計算工作小時(到當天結束時):

=IF(WEEKDAY(B1,2)<=5,ROUNDDOWN(B1+1,0)-B1,0) 

總結這些,並在這裏你去。

+0

感謝您的回覆..其真正有幫助..我的上述公式也做同樣..我的關注是。如果開始日期是星期六或星期日,則Excel應將下一個工作日作爲開始日期(星期一)。如果結束日期是星期六或星期日,那麼它應該以前一個工作日爲結束日期(星期五) –

+0

我認爲它會忽略假期。您應該使用樣本日期進行測試並查看結果。 – Taosique