NETWORKDAYS.INTL函數,工作日的花樣算法
NETWORKDAYS.INTL函數,工作日的花樣算法
甲說:我們單位周六、周日雙休,從沒有節假日;
乙說:我們單位周日單休,從沒有節假日;
丙說:我們單位周六、周日雙休,還有節假日;
丁說:我們單位周日單休,還有節假日;
但,我們都有同一個問題:怎么算兩個日期之間的工作日?
公式實現
這四種情況的實現,一個函數就能解決,這個函數就是:
NETWORKDAYS.INTL
如下圖:
NETWORKDAYS.INTL函數
語法:
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
中文語法:
NETWORKDAYS.INTL(起始日期, 結束日期, [周末數字或字符串], [節假日])
NETWORKDAYS.INTL函數語法具有以下參數:
start_date和 end_date ? ?必需。要計算其差值的日期。start_date可以早于或晚于end_date,也可以與它相同。
weekend ? ?可選。表示介于 start_date和 end_date之間但又不包括在所有工作日數中的周末日。Weekend是一個用于指定周末日的周末數字或字符串。
holidays ? ?可選。一組可選的日期,表示要從工作日日歷中排除的一個或多個日期。holidays 應是一個包含相關日期的單元格區域,或者是一個由表示這些日期的序列值構成的數組常量。holidays 中的日期或序列值的順序可以是任意的
weekend 數值表示以下周末日:
(如果是星期一休息,weekend 數值是12)
weekend 也可以是周末字符串值,長度為七個字符,并且字符串中的每個字符表示一周中的一天(從星期一開始)。1 表示非工作日,0 表示工作日。在字符串中僅允許使用字符 1 和 0。使用 1111111 將始終返回 0。
例如,0000011 結果為星期六和星期日是周末。
所以,本文開始的四種計算方式,可以寫為:
但由于字符串寫起來較麻煩,一般都用數值。
備注
如果周六周日雙休且不考慮節日,也可直接用NETWORKDAYS函數:
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。