等級:初學者
-
積分:0
-
財富值:0.00
-
身份:普通用戶
在Excel中計算兩個日期之間的工作日數(shù)量
在日常工作中經(jīng)常需要計算兩個日期之間的工作日數(shù)量,如計算出勤天數(shù)等。在Excel中可以使用NETWORKDAYS函數(shù)來進行計算,該函數(shù)的語法如下:
NETWORKDAYS(start_date, end_date, [holidays])
其中:
start_date 為開始日期
end_date 為終止日期
holidays 為星期六、星期日以外的假日列表,可選參數(shù)
例如要計算日期“2010-5-14”與“2010-6-23”之間的工作日數(shù)量。由于這兩個日期之間的6月14日至16日為端午節(jié)放假調休,實際放假為“2010-6-16”端午節(jié)1天,所以這兩個日期之間的工作日數(shù)量為:
=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”之間的工作日數(shù)量為28(含這兩個日期)。
有些時候使用第二個公式來計算顯得更為方便一些,特別是當假日適逢星期六、星期日需放假調休時。由于國家規(guī)定如果假日適逢星期六、星期日,應當在工作日補假,因而只需減去兩個日期之間的假日數(shù)即可得到工作日數(shù)量。例如A1單元格中包含起始日期“2010-8-23”,B1單元格中包含終止日期“2010-10-20”,由于這兩個日期之間包含中秋節(jié)放假1天、國慶節(jié)放假3天,在C1單元格中輸入公式:
=NETWORKDAYS(A1,B1)-4
公式返回結果為39,注意由于A1、A2單元格為日期格式,公式所在的C1單元格也會被自動設置為日期格式,這時需將其單元格格式調整為“常規(guī)”。
NETWORKDAYS函數(shù)在Excel 2010、Excel 2007中可以直接使用,但在Excel 2003需加載“分析工具庫”后才能使用。 方法是單擊菜單“工具→加載宏”,在 彈出的“加載宏”對話框中勾選“分析工具庫”,單擊“確定”。
上述工作日的計算是默認星期六、星期日為周末的,有時需要把星期六也算作工作日,即僅星期日為周末,這時怎樣計算兩個日期之間的工作日呢?例如要計算2010年3月中包含星期六的工作日數(shù)量,假如A1單元格中為開始日期“2010-3-1”,B1單元格中位終止日期“2010-3-31”,在C1單元格中輸入公式:
=SUMPRODUCT(--(MOD(ROW(INDIRECT("1:"&(B1-A1+1)))+A1-2,7)>0))
即可得到2010年3月份包含星期六的工作日數(shù)量,公式返回結果為27。
在Excel 2010中,還可以使用新增函數(shù)NETWORKDAYS.INTL直接進行計算。NETWORKDAYS.INTL函數(shù)可以指定一個星期中的任意某天為周末,其語法為:
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
其中可選參數(shù)“weekend”用數(shù)值或7個字符長的字符串指定周末。該參數(shù)為數(shù)值時:
周末數(shù) 周末日
1 或省略 星期六、星期日
2 星期日、星期一
3 星期一、星期二
4 星期二、星期三
5 星期三、星期四
6 星期四、星期五
7 星期五、星期六
11 僅星期日
12 僅星期一
13 僅星期二
14 僅星期三
15 僅星期四
16 僅星期五
17 僅星期六
該參數(shù)為字符串時,必須為7個字符長。該字符串由“1”和“0”組成,其中的每個字符代表一周中的一天,從星期一開始,用“1”代表非工作日,“0”代表工作日。如僅指定星期日為周末,該參數(shù)為“0000001”。本例中可使用下面的公式:
=NETWORKDAYS.INTL(A1,B1,11)
或:
=NETWORKDAYS.INTL(A1,B1,"0000001")
兩個公式都返回27。