問題:有兩個日期,我要計算它們之間有多少個工作日,怎麼辦?
我們知道不同的公司有不同的作息制度,有周末雙休、有單休、有各種節假日等,所以需要根據不同的情況使用不同的公式計算。
① 全年無休
全年無休,只要用DATEDIF公式計算出兩個日期之間相差幾天,即為幾個工作日。
如果要去除節假日和周末,DATEDIF是力所不能及了,必須請出NETWORKDAYS函數和NETWORKDAYS.INTL函數。
NETWORKDAYS語法
② 周六和周日不上班。
公式「=NETWORKDAYS(日期1,日期2)」會自動用「日期2-日期1」,同時去除周六和周日,得到實際工作日天數。
③ 除了周末雙休,還有法定節假日也不上班。
我們可以把「清明」、「五一」、「端午」等一系列特色節假日存放在一個表裡,然後用公式「=NETWORKDAYS(日期1,日期2,節假日表)」計算扣除了休息日和節假日後的準確工作日天數。
注意,NETWORKDAYS計算出來的天數可能包含「日期1」和「日期2」哦。
另外,遇到單休工作制,或者不是周末休息的公司,那就需要NETWORKDAYS.INTL函數來計算工作日了。
NETWORKDAYS.INTL語法
和NETWORKDAYS類似,NETWORKDAYS.INTL函數多了一個參數「[周末]」,這個參數表示一周7天中哪天休息。
④ 只有周日休息。
由上面的表格,我們知道數字「11」表示「只有周日」休息,所以可以使用公式「=NETWORKDAYS.INTL(日期1,日期2,11,節假日表)」。
⑤ 周六、周日不休息,但一周仍有兩天休息時間。
如果是周日和周一休息,可以使用公式:「=NETWORKDAYS.INTL(日期1,日期2,2,節假日表)」。
⑥ 周末不休息,法定節假日休息。
公式:「=NETWORKDAYS.INTL(日期1,日期2,"0000000",節假日表)」。
這是NETWORKDAYS.INTL函數的另外一種寫法了,用數字「0」表示上班,數字「1」表示不上班,從周一開始,7個數字就分別表示一周7天哪天休息哪天工作。
相關閱讀:《WPS Excel:考勤表打卡時間轉成「遲到」、「早退」和「加班」》、《Excel中的各種時間差、日期差,該如何計算》。
本文由解晴新生原創,歡迎關注,帶你一起長知識!