close

309

使用NetWorkDays.INTL函數統計員工工作天數的方法

示範檔

範例檔

309.XLSX

結果檔

在製作工資表、計算新員工或辭職員工薪水時,由於很多情況下員工不是月初入職或月末離職的,計算員工的工作日天數時就會遇到一個棘手的難題「要如何扣除週末天數」。

記得有位HR媚媚是這樣做的,翻開日曆,然後在上面一天天的數天數。酒店行業每個月都會有幾十名新入職和離職員工,一個員工數一分種,要數一個多小時,非常的沒有效率。

其實,在Excel 2010新增的NetWorkDays.INTL函數,正好可以解決這個問題。它就是:

Networkdays.INTL

(傳回兩個日期之間的所有工作日數,使用參數指示哪些天是週末,以及有多少天是週末。週末和任何指定為假期的日期不被視為工作日。)

下面是20171月份的部份員工工資表。

image

可以幫這位HR媚媚這樣設置公式:

C2:C6儲存格框選起來,再點取編輯列輸入公式:「=NETWORKDAYS.INTL(IF(B2<DATE ( 2017,1,1),DATE(2017,1,1),B2),DATE(2017,1,31),11)」後,再按Ctrl + Enter鍵。

IF(B2<DATE(2017,1,1),DATE(2017,1,1),B2):區分是不是新入職員工,如果不是新入職員工按本月1日作為開始日期,否則即為新入職,按實際入職日期算。

DATE(2017,1,31):本月最後一天作為計算的截止日期。

11: 表示本公司是一週六天工作日,星期日是休息日。

 

NetWorkDays.INTL

日期及時間

功能:可以對範圍中符合指定條件的值求其總和。

語法:NETWORKDAYS.INTL(Start_date, End_date, [Weekend], [Holidays])

參數: Start_date End_date:為必需參數,要計算其差值的日期。Start_date 可以早于或晚於End_date,也可以與它相同。
Weekendl
:可選擇參數,表示介於Start_dateEnd_date之間但又不包括在所有工作日數中的週末日。Weekend是週末數值或字串,用於指定週末時間。
Weekend
數值表示以下週末日:

周末數

周末日

1或省略

星期六、星期日

2

星期天、星期一

3

星期一、星期二

4

星期二、星期三

5

星期三、星期四

6

星期四、星期五

7

星期五、星期六

11

僅星期天

12

僅星期一

13

僅星期二

14

僅星期三

15

僅星期四

16

僅星期五

17

僅星期六

Weekend 字串值為 7 個字元長,該字串中的每個字元代表一周中的一天,從星期一開始。1代表非工作日,0代表工作日。該字串中只允許使用字元10。使用1111111將始終傳回0
例如,0000011 得到的結果是星期六和星期日為週末。
Holidays
:可選擇參數,一個包含一個或多個日期的可選集合,這些日期將從工作日日曆中排除。假期應該是包含日期的儲存格範圍,也可以是代表這些日期的序列值的陣列常數。假期中的日期或序列值的順序可以是任意的。

注意: 如果Start_date晚於End_date,則傳回值將為負數,數量將是所有工作日的數量。
如果Start_date在當前日期基準值的範圍之外,則NETWORKDAYS.INTL將傳回錯誤值#NUM!
如果End_date在當前日期基準值的範圍之外,則NETWORKDAYS.INTL將傳回錯誤值 #NUM!
如果Weekend字串的長度無效或包含無效字元,則NETWORKDAYS.INTL將傳回錯誤值 #VALUE!

 


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()