Excel NETWORKDAYS 計算工作天:假日清單與自訂週休設定
快速答案
Excel NETWORKDAYS:先理解用途與限制
NETWORKDAYS 會計算起訖日期內的工作天並排除週六、週日;班表不同時可用 NETWORKDAYS.INTL 自訂週末。
本文採用的實作角度是「用專案開始、截止與假日表建立可維護工期。」,適合正在處理「想計算兩日期之間的工作天並排除週末、國定假日。」的讀者。請先在副本完成測試,再套用到正式檔案。
適用版本:NETWORKDAYS 適用多數 Excel 版本;NETWORKDAYS.INTL 適用 Excel 2010 以後版本。
可複製的公式或程式範例
先在測試工作表建立與本文相同的欄位,再依實際檔案調整範圍。公式中的逗號、分號與日期格式可能受地區設定影響。
=NETWORKDAYS.INTL(B2,C2,1,$H$2:$H$20)
範例情境
B2 是 7 月 1 日、C2 是 7 月 10 日,H2:H20 保存假日。公式依週六日休息並排除清單中的假日。
開始前要確認的資料結構
- 01起訖日期都會納入計算。先把這一點寫在欄位說明或設定工作表,能減少之後的公式歧義。
- 02假日表使用真正日期值。先把這一點寫在欄位說明或設定工作表,能減少之後的公式歧義。
- 03週休模式要符合組織實際班別。先把這一點寫在欄位說明或設定工作表,能減少之後的公式歧義。
- 04跨國團隊需分開維護假日。先把這一點寫在欄位說明或設定工作表,能減少之後的公式歧義。

實作步驟
-
步驟 1:建立開始與截止日期欄
先在副本或小範圍測試,記錄目前列數與控制總數,避免直接改壞正式檔。 -
步驟 2:建立獨立假日清單
完成後查看資料型別、範圍尺寸與輸出位置,再進入下一步。 -
步驟 3:選擇標準或自訂週休
完成後查看資料型別、範圍尺寸與輸出位置,再進入下一步。 -
步驟 4:套用公式並檢查一天期任務
完成後查看資料型別、範圍尺寸與輸出位置,再進入下一步。 -
步驟 5:以人工日曆抽查跨週與跨月
用已知正確、空白、錯誤與邊界資料重測,確認結果可被另一位使用者理解。
正式套用前,建議建立最小測試資料:一筆正常值、一筆空白、一筆錯誤或邊界值。若結果會影響報價、薪資、庫存或寄信,還要安排人工核對。
常見錯誤與排查順序
| 常見問題 | 先檢查什麼 | 安全修正 |
|---|---|---|
| 假日表是文字 | 資料型別、前後空白與範圍起訖 | 先在副本重現,再只改一個變因並核對控制總數 |
| 誤以為結果不含起始日 | 版本、權限、輸出區與公式參照 | 先在副本重現,再只改一個變因並核對控制總數 |
| 不同人班別共用同一週休碼 | 資料型別、前後空白與範圍起訖 | 先在副本重現,再只改一個變因並核對控制總數 |
| 假日清單含重複日期造成誤判 | 版本、權限、輸出區與公式參照 | 先在副本重現,再只改一個變因並核對控制總數 |
如何確認結果正確
- 用人工可算的小資料核對公式結果。
- 測試空白、零、負數、日期邊界與查無資料。
- 重新開啟檔案或由另一帳戶測試權限與更新。
- 確認手機或窄螢幕查看時,表格仍可橫向捲動而不撐破整頁。
若這份試算表由多人使用,請在交付區標示欄位責任、更新頻率、資料來源與還原方式。公式能自動運算,但不會自動保證輸入資料正確。
常見問題
可以只算週一到週五嗎?
NETWORKDAYS 預設就是週一至週五。
排班制怎麼算?
可用 NETWORKDAYS.INTL 設定週末碼,複雜輪班則需另建班表。
結果為負數代表什麼?
通常是結束日早於開始日,應先檢查資料。
官方文件與版本來源
本文的函數、權限與平台行為依以下官方文件核對;雲端功能與配額可能更新,正式部署前請再查看最新內容。