在Excel中計算兩個日期之間的工作日數量
| 在Excel中計算兩個日期之間的工作日數量 來源:excel格子社區 在日常工作中經常需要計算兩個日期之間的工作日數量,如計算出勤天數等。在Excel中可以使用NETWORKDAYS函數來進行計算,該函數的語法如下: NETWORKDAYS(start_date, end_date, [holidays]) 其中: start_date 為開始日期
end_date 為終止日期 holidays 為星期六、星期日以外的假日列表,可選參數 例如要計算日期「2010-5-14」與「2010-6-23」之間的工作日數量。由於這兩個日期之間的6月14日至16日為端午節放假調休,實際放假為「2010-6-16」端午節1天,所以這兩個日期之間的工作日數量為: =NETWORKDAYS("2010-5-14","2010-6-23","2010-6-16") 或: =NETWORKDAYS("2010-5-14","2010-6-23")-1 公式返回結果為28,即日期「2010-5-14」與「2010-6-23」之間的工作日數量為28(含這兩個日期)。 有些時候使用第二個公式來計算顯得更為方便一些,特別是當假日適逢星期六、星期日需放假調休時。由於國家規定如果假日適逢星期六、星期日,應當在工作日補假,因而只需減去兩個日期之間的假日數即可得到工作日數量。例如A1單元格中包含起始日期「2010-8-23」,B1單元格中包含終止日期「2010-10-20」,由於這兩個日期之間包含中秋節放假1天、國慶節放假3天,在C1單元格中輸入公式: =NETWORKDAYS(A1,B1)-4 公式返回結果為39,注意由於A1、A2單元格為日期格式,公式所在的C1單元格也會被自動設置為日期格式,這時需將其單元格格式調整為「常規」。
NETWORKDAYS函數在Excel 2010、Excel 2007中可以直接使用,但在Excel 2003需載入「分析工具庫」後才能使用。方法是單擊菜單「工具→載入宏」,在彈出的「載入宏」對話框中勾選「分析工具庫」,單擊「確定」。
上述工作日的計算是默認星期六、星期日為周末的,有時需要把星期六也算作工作日,即僅星期日為周末,這時怎樣計算兩個日期之間的工作日呢?例如要計算2010年3月中包含星期六的工作日數量,假如A1單元格中為開始日期「2010-3-1」,B1單元格中位終止日期「2010-3-31」,在C1單元格中輸入公式: =SUMPRODUCT(--(MOD(ROW(INDIRECT("1:"&(B1-A1+1)))+A1-2,7)>0)) 即可得到2010年3月份包含星期六的工作日數量,公式返回結果為27。 在Excel 2010中,還可以使用新增函數NETWORKDAYS.INTL直接進行計算。NETWORKDAYS.INTL函數可以指定一個星期中的任意某天為周末,其語法為: NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) 其中可選參數「weekend」用數值或7個字元長的字元串指定周末。該參數為數值時:
該參數為字元串時,必須為7個字元長。該字元串由「1」和「0」組成,其中的每個字元代表一周中的一天,從星期一開始,用「1」代表非工作日,「0」代表工作日。如僅指定星期日為周末,該參數為「0000001」。本例中可使用下面的公式: =NETWORKDAYS.INTL(A1,B1,11) 或: =NETWORKDAYS.INTL(A1,B1,"0000001") 兩個公式都返回27。 |
||||||||||||||||||||||||||||||
推薦閱讀:
※工作到位
※「每天加班2小時,卻被老闆開除了」
※70餘個工作組無一失手,半年「獵狐」680名
※2016年醫療設備維修工作計劃
※郝茹:我的老闆金國棟先生
