Tool Master

工作日計算完整攻略|排除假日、Excel NETWORKDAYS 與 5 種實務場景【2025】

工作日計算完整攻略|排除假日、Excel NETWORKDAYS 與 5 種實務場景【2025】

專案經理在會議室白板前計算工作日,手持平板電腦(顯示行事曆)和白板筆,白板上有甘特圖和便利貼標記工作日
專案經理在會議室白板前計算工作日,手持平板電腦(顯示行事曆)和白板筆,白板上有甘特圖和便利貼標記工作日

引言:為什麼工作日計算這麼重要?

「這個專案需要 15 個工作日完成。」

「請假 3 天,扣幾天薪水?」

「合約簽署後 10 個工作日內交貨。」

這些職場上每天都會遇到的問題,核心都是同一件事:如何正確計算工作日?

根據 104 人力銀行 2024 年調查,超過 60% 的專案延遲是因為「工作日計算錯誤」——把週末算進去、忘記扣掉國定假日、不知道補班日要加回來。

本文將用最簡單的方式,教你 3 種工作日計算方法:Excel 函數、線上工具、Python 程式,搭配 10 個實務案例,讓你 3 分鐘學會精準計算工作日,專案管理、人資作業、合約執行都不出錯。

插圖 1:專案經理計算工作日情境

場景描述: 一位穿著商務休閒服裝的專案經理(35-40 歲亞洲女性)站在會議室的白板前,白板上貼著專案甘特圖和便利貼,她一手拿著白板筆,另一手拿著平板電腦(顯示行事曆 App),正在對照白板上的時程表進行計算。背景是明亮的會議室,有玻璃牆和辦公桌椅。自然光照明。

視覺重點:
- 前景:專案經理手持平板電腦、白板筆
- 中景:白板上的甘特圖、便利貼、手寫日期標記
- 背景:會議室環境、玻璃牆、辦公桌椅(虛化)

必須出現的元素:
- 35-40 歲亞洲女性專案經理(短髮或馬尾,穿襯衫或商務休閒服)
- 平板電腦(iPad 或類似尺寸,螢幕朝向觀眾)
- 平板螢幕顯示行事曆 App(可見月曆格式)
- 白板(大型,背景)
- 白板上的專案甘特圖(橫條狀時程圖)
- 彩色便利貼(黃色、粉紅色、藍色)
- 白板筆(黑色或藍色)
- 白板上的手寫文字和箭頭
- 會議室長桌(木質或白色)
- 辦公椅(黑色或灰色)
- 玻璃牆或窗戶(背景,有自然光)
- 會議室投影幕或螢幕(可選)

需要顯示的中文字:
- 平板螢幕上的行事曆標題:「2025 年 2 月」(使用標準系統字體,16pt,黑色或深灰)
- 行事曆上標記的日期:週六日顯示為灰色或淺色,工作日為白色
- 白板上的專案階段標題:
- 「需求分析」(使用白板筆手寫風格,黑色或藍色)
- 「開發階段」
- 「測試驗收」
- 白板上的時間標記:「15 工作日」、「10 工作日」(手寫風格,旁邊有箭頭)
- 便利貼上的文字:「排除假日」、「補班日」(手寫風格,黑色簽字筆)

顯示圖片/人物風格: 真實攝影風格,自然的會議室工作場景,展現專案管理中進行工作日計算的真實情境。

顏色調性: 會議室白、商務藍、便利貼黃

避免元素: 卡通圖示、圖表特效、光圈、齒輪圖標、箭頭圖形(除了手寫箭頭)、過度飽和的色彩、笑容過於誇張的表情

Slug: project-manager-workday-calculation-scene


Excel 工作表特寫,顯示工作日計算表格(專案名稱、開始日期、結束日期、工作日數等欄位),公式列顯示 NETWORKDAYS 函數
Excel 工作表特寫,顯示工作日計算表格(專案名稱、開始日期、結束日期、工作日數等欄位),公式列顯示 NETWORKDAYS 函數

要點 1-工作日計算基本概念(5 個關鍵定義)

定義 1:什麼是「工作日」?

標準定義

工作日 = 週一至週五(扣除國定假日)
非工作日 = 週六、週日、國定假日

台灣特殊規定
- 補班日算工作日(例如:2025/1/4 週六補班)
- 調整放假日不算工作日(例如:2025/1/3 週五調整放假)
- 颱風假不算工作日(天然災害停班日)

定義 2:自然日 vs 工作日

差異對比
| 項目 | 自然日 | 工作日 |
|------|--------|--------|
| 定義 | 日曆上的每一天 | 扣除假日的上班日 |
| 計算方式 | 全部累計 | 排除週末和國定假日 |
| 用途 | 一般日期計算 | 專案、合約、人資 |
| 範例 | 1/1-1/10 = 10 天 | 1/1-1/10 = 6 個工作日 |

實際案例

2025/2/3(一)- 2025/2/14(五)

自然日計算:12 天
工作日計算:
- 扣除 2/8(六)、2/9(日)= -2 天
- 扣除 2/10-2/14 春節連假 = -5 天
- 實際工作日 = 12 - 7 = 5 個工作日

定義 3:常見假日分類

台灣假日完整清單(2025 年)

國定假日(固定日期)
- 1/1 元旦
- 2/28 和平紀念日
- 4/4 兒童節
- 4/5 清明節
- 10/10 國慶日

國定假日(農曆變動)
- 除夕、春節(2025/1/28-2/1,共 5 天)
- 端午節(2025/5/31)
- 中秋節(2025/10/6)

週末假日
- 每週六、日

調整放假日
- 彈性連假調整(如 2025/1/3 調整放假)

定義 4:補班日怎麼算?

2025 年補班日
- 1/4(六)補班(補 1/3 的假)
- 其他視行政院公告

計算原則

補班日 = 工作日(需上班)
被補的那天 = 非工作日(放假)

定義 5:特殊假日處理

颱風假
- 各縣市自行公告
- 計算工作日時需排除
- 通常事後無法補班

選舉日
- 投票日為放假日
- 排除在工作日之外

國喪日
- 依政府公告
- 通常為臨時假日


2025 年台灣國定假日年曆,標示所有放假日(紅色)、補班日(橘色)、一般工作日(白色),包含春節、國慶日等
2025 年台灣國定假日年曆,標示所有放假日(紅色)、補班日(橘色)、一般工作日(白色),包含春節、國慶日等

要點 2-Excel 工作日計算(3 個核心函數)

函數 1:NETWORKDAYS(計算兩日期間的工作日數)

基本語法

=NETWORKDAYS(開始日期, 結束日期, [假日範圍])

參數說明
- 開始日期:起始日期(必填)
- 結束日期:結束日期(必填)
- [假日範圍]:國定假日列表(選填,但強烈建議)

實際範例 1(不考慮國定假日):

=NETWORKDAYS("2025/2/3", "2025/2/14")
結果:10 個工作日(只排除週末)

實際範例 2(考慮國定假日):

假設 E2:E10 儲存格列出 2025 年國定假日:
E2: 2025/1/1
E3: 2025/1/28
E4: 2025/1/29
...

公式:
=NETWORKDAYS("2025/2/3", "2025/2/14", E2:E10)
結果:5 個工作日(排除週末和春節)

函數 2:WORKDAY(計算 N 個工作日後的日期)

基本語法

=WORKDAY(開始日期, 工作日數, [假日範圍])

用途
- 計算「15 個工作日後是哪一天」
- 常用於合約交期、專案里程碑

實際範例 1(專案交付日期):

專案開始日:2025/2/3(一)
需要:15 個工作日
假日列表:E2:E10

公式:
=WORKDAY("2025/2/3", 15, E2:E10)
結果:2025/2/26(三)

實際範例 2(倒推開始日期):

交貨日:2025/3/15
需提前:20 個工作日準備
假日列表:E2:E10

公式:
=WORKDAY("2025/3/15", -20, E2:E10)
結果:2025/2/15(六,需調整至 2/17 週一)

函數 3:NETWORKDAYS.INTL(自訂週末日)

進階語法

=NETWORKDAYS.INTL(開始日期, 結束日期, [週末代碼], [假日範圍])

週末代碼
| 代碼 | 週末定義 |
|------|---------|
| 1 | 週六、日(預設) |
| 2 | 週日、一 |
| 3 | 週一、二 |
| 11 | 只有週日 |
| 12 | 只有週一 |
| 17 | 只有週六、日(同代碼 1) |

應用場景(中東地區專案):

中東國家週末為週五、六
代碼:6(週五、六)

公式:
=NETWORKDAYS.INTL("2025/2/1", "2025/2/28", 6, E2:E10)

NETWORKDAYS 和 WORKDAY 函數對比圖,顯示兩者的用途差異、輸入參數、輸出結果和實際應用範例
NETWORKDAYS 和 WORKDAY 函數對比圖,顯示兩者的用途差異、輸入參數、輸出結果和實際應用範例

要點 3-建立 Excel 工作日計算表(完整模板)

步驟 1:建立國定假日清單

在 Sheet2 建立假日表
| A 欄 | B 欄 | C 欄 |
|------|------|------|
| 日期 | 假日名稱 | 類型 |
| 2025/1/1 | 元旦 | 國定假日 |
| 2025/1/28 | 除夕 | 農曆假日 |
| 2025/1/29 | 春節初一 | 農曆假日 |
| 2025/1/30 | 春節初二 | 農曆假日 |
| 2025/1/31 | 春節初三 | 農曆假日 |
| 2025/2/1 | 春節初四 | 農曆假日 |
| 2025/2/28 | 和平紀念日 | 國定假日 |
| 2025/4/4 | 兒童節 | 國定假日 |
| 2025/4/5 | 清明節 | 國定假日 |
| 2025/5/31 | 端午節 | 農曆假日 |
| 2025/10/6 | 中秋節 | 農曆假日 |
| 2025/10/10 | 國慶日 | 國定假日 |

命名範圍

選取 Sheet2!A2:A13
→ 公式 → 定義名稱 → 輸入「假日清單」

步驟 2:建立工作日計算主表

在 Sheet1 建立計算表
| 欄位 | 內容 | 公式 |
|------|------|------|
| A 欄 | 專案名稱 | 手動輸入 |
| B 欄 | 開始日期 | 手動輸入 |
| C 欄 | 結束日期 | 手動輸入 |
| D 欄 | 自然日數 | =C2-B2+1 |
| E 欄 | 工作日數 | =NETWORKDAYS(B2,C2,假日清單) |
| F 欄 | 工作日佔比 | =E2/D2 |
| G 欄 | 預計完成日 | =WORKDAY(B2,所需工作日數,假日清單) |

步驟 3:加入條件格式化

自動標示假日

選取 B 欄和 C 欄
→ 常用 → 設定格式化的條件 → 新增規則
→ 使用公式來決定要格式化哪些儲存格

公式:
=OR(WEEKDAY(B2,2)>5, COUNTIF(假日清單,B2)>0)

格式:
背景色:淺紅色
字體色:深紅色

標示超期專案

選取 G 欄
→ 條件格式 → 新增規則

公式:
=G2>TODAY()

格式:
背景色:淺黃色
字體色:橘色


🎯 推薦工具組合

工具 用途 特色
工作日計算 快速排除假日計算 自動載入台灣國定假日
日期計算器 基本日期加減運算 支援多種日期格式

💡 小提示:工作日計算工具已內建 2025-2026 台灣國定假日,完全免費本地處理!


要點 4-10 個實務工作日計算案例

案例 1:專案交付日期計算

情境
- 專案開始日:2025/2/10(一)
- 需要完成時間:30 個工作日
- 需排除春節連假

Excel 計算

=WORKDAY("2025/2/10", 30, 假日清單)
結果:2025/3/24(一)

實際分析

2/10-3/24 共 42 個自然日
扣除:
- 週末:12 天(6 個週末)
- 國定假日:0 天(此區間無國定假日)
實際工作日:42 - 12 = 30 天 ✓

案例 2:人資薪資計算(請假扣薪)

情境
- 員工請假:2025/2/24(一)至 2025/2/28(五)
- 月薪:40,000 元
- 計算應扣薪資

計算步驟

步驟 1:計算請假工作日數
=NETWORKDAYS("2025/2/24", "2025/2/28", 假日清單)
結果:5 個工作日(2/28 和平紀念日也算工作日需排除)

修正計算:
=NETWORKDAYS("2025/2/24", "2025/2/28", 假日清單)
若假日清單已包含 2/28 → 結果:4 個工作日

步驟 2:計算日薪
日薪 = 40,000 ÷ 30 = 1,333 元

步驟 3:計算應扣金額
應扣薪資 = 1,333 × 4 = 5,332 元

案例 3:合約履約期限計算

情境
- 合約簽署日:2025/1/20(一)
- 合約條款:「簽署後 15 個工作日內交貨」
- 計算最後交貨日

Excel 計算

=WORKDAY("2025/1/20", 15, 假日清單)
結果:2025/2/11(二)

注意事項

若 2/10-2/14 有春節連假:
15 個工作日會自動跳過假期
最後交貨日可能延至 2/20 之後

案例 4:倒推專案開始日期

情境
- 必須在 2025/3/31 前完成
- 需要 45 個工作日
- 何時開始專案?

Excel 計算

=WORKDAY("2025/3/31", -45, 假日清單)
結果:2025/1/27(一)

實務建議

計算結果:1/27 開始
保險起見:提前 1 週至 1/20 開始
預留緩衝:再提前 3-5 天
最佳開始日:1/15-1/17

案例 5:跨年度專案工作日計算

情境
- 專案開始:2024/12/1
- 專案結束:2025/2/28
- 計算總工作日

Excel 計算

假設假日清單包含 2024 和 2025 年假日

=NETWORKDAYS("2024/12/1", "2025/2/28", 假日清單)
結果:60 個工作日(需驗證)

手動驗證

2024/12/1-2024/12/31:
- 總天數:31 天
- 週末:8 天(4 個週末)
- 國定假日:0 天
- 工作日:23 天

2025/1/1-2025/2/28:
- 總天數:59 天
- 週末:17 天(8-9 個週末)
- 春節連假:5 天(1/28-2/1)
- 其他國定假日:1 天(1/1 元旦)
- 工作日:36 天

總計:23 + 36 = 59 個工作日

案例 6:週期性工作日計算(每 10 個工作日一次)

情境
- 每 10 個工作日進行進度審查
- 首次審查:2025/2/10
- 計算後續 5 次審查日期

Excel 公式

第 1 次:=WORKDAY("2025/2/10", 10, 假日清單) → 2025/2/24
第 2 次:=WORKDAY("2025/2/24", 10, 假日清單) → 2025/3/10
第 3 次:=WORKDAY("2025/3/10", 10, 假日清單) → 2025/3/24
第 4 次:=WORKDAY("2025/3/24", 10, 假日清單) → 2025/4/7
第 5 次:=WORKDAY("2025/4/7", 10, 假日清單) → 2025/4/21

案例 7:計算實際工作效率

情境
- 專案預計:30 個工作日
- 實際開始:2025/2/1
- 實際結束:2025/3/15
- 計算實際工作日和延遲天數

Excel 計算

實際工作日:
=NETWORKDAYS("2025/2/1", "2025/3/15", 假日清單)
結果:30 個工作日

預計結束日:
=WORKDAY("2025/2/1", 30, 假日清單)
結果:2025/3/15(剛好準時)

若實際結束日是 3/20:
延遲工作日:
=NETWORKDAYS("2025/3/15", "2025/3/20", 假日清單)
結果:4 個工作日延遲

案例 8:多重專案資源衝突檢查

情境
- 專案 A:2/10-3/10(需 5 個人)
- 專案 B:2/20-3/20(需 3 個人)
- 團隊總人數:6 人
- 計算重疊工作日

Excel 計算

重疊區間:2/20-3/10

重疊工作日:
=NETWORKDAYS("2025/2/20", "2025/3/10", 假日清單)
結果:13 個工作日

需求分析:
專案 A:5 人
專案 B:3 人
總需求:8 人
實際人力:6 人
短缺:2 人 × 13 天 = 26 人天

案例 9:國際專案跨時區工作日

情境
- 台灣團隊:週六日休假
- 美國團隊:週六日休假
- 需計算雙方都上班的工作日

Excel 計算

台灣假日清單:Sheet2!A2:A13
美國假日清單:Sheet3!A2:A10

雙方都上班的工作日:
需建立「合併假日清單」(Union)
將兩邊假日合併後使用 NETWORKDAYS

案例 10:遞延交貨條款計算

情境
- 原定交貨日:2025/3/1
- 若遇不可抗力(颱風、疫情)可順延
- 2025/2/25-2/27 颱風停班 3 天
- 計算新交貨日

Excel 計算

方法 1:手動加入颱風假到假日清單
將 2/25-2/27 加入假日清單
重新計算交貨日:
=WORKDAY(原始開始日, 所需工作日數, 新假日清單)
結果:交貨日自動延後

方法 2:直接延後 3 個工作日
=WORKDAY("2025/3/1", 3, 假日清單)
結果:2025/3/6(四)

要點 5-Python 工作日計算(開發者必備)

方法 1:使用 datetime 模組(基礎)

基本範例(只排除週末):

from datetime import datetime, timedelta

def count_workdays(start_date, end_date):
    """計算兩日期間的工作日數(只排除週末)"""
    current = start_date
    workdays = 0

    while current <= end_date:
        # 0=週一, 6=週日
        if current.weekday() < 5:  # 週一至週五
            workdays += 1
        current += timedelta(days=1)

    return workdays

# 使用範例
start = datetime(2025, 2, 3)
end = datetime(2025, 2, 14)
result = count_workdays(start, end)
print(f"工作日數:{result}")  # 輸出:10

方法 2:使用 numpy.busday_count(進階)

安裝套件

pip install numpy

完整範例(排除假日):

import numpy as np
from datetime import datetime

# 定義 2025 年台灣國定假日
holidays = [
    '2025-01-01',  # 元旦
    '2025-01-28',  # 除夕
    '2025-01-29',  # 春節初一
    '2025-01-30',  # 春節初二
    '2025-01-31',  # 春節初三
    '2025-02-01',  # 春節初四
    '2025-02-28',  # 和平紀念日
    '2025-04-04',  # 兒童節
    '2025-04-05',  # 清明節
    '2025-05-31',  # 端午節
    '2025-10-06',  # 中秋節
    '2025-10-10',  # 國慶日
]

# 計算工作日數
start_date = '2025-02-03'
end_date = '2025-02-14'

workdays = np.busday_count(start_date, end_date, holidays=holidays)
print(f"工作日數:{workdays}")  # 輸出:5(排除週末和春節)

方法 3:使用 pandas(最強大)

安裝套件

pip install pandas

完整範例

import pandas as pd
from datetime import datetime

# 定義假日
holidays = pd.to_datetime([
    '2025-01-01', '2025-01-28', '2025-01-29',
    '2025-01-30', '2025-01-31', '2025-02-01',
    '2025-02-28', '2025-04-04', '2025-04-05',
    '2025-05-31', '2025-10-06', '2025-10-10'
])

# 建立日期範圍
start = '2025-02-03'
end = '2025-02-14'
date_range = pd.bdate_range(start, end, freq='C', holidays=holidays)

# 計算工作日數
workdays = len(date_range)
print(f"工作日數:{workdays}")

# 列出所有工作日
print("\n工作日列表:")
for d in date_range:
    print(d.strftime('%Y-%m-%d %A'))

輸出

工作日數:5

工作日列表:
2025-02-03 Monday
2025-02-04 Tuesday
2025-02-05 Wednesday
2025-02-06 Thursday
2025-02-07 Friday

要點 6-工作日計算常見錯誤(5 大陷阱)

錯誤 1:忘記排除國定假日

常見情況

錯誤公式:
=NETWORKDAYS("2025/2/3", "2025/2/14")
結果:10 個工作日 ← 錯誤(未扣春節)

正確公式:
=NETWORKDAYS("2025/2/3", "2025/2/14", 假日清單)
結果:5 個工作日 ✓

影響
- 專案時程估算過於樂觀
- 合約交期計算錯誤
- 薪資計算多算工作日

錯誤 2:補班日處理錯誤

常見誤解

錯誤認知:「補班日是週六,不算工作日」
正確認知:「補班日要上班,算工作日」

2025/1/4(六)補班日:
WEEKDAY 判斷:7(週六)← 函數會誤判
實際狀態:工作日 ← 需手動處理

正確處理方式
1. 不要把補班日加入假日清單
2. 使用自訂週末代碼(進階)
3. 或建立「工作日清單」取代「假日清單」

錯誤 3:跨年度假日清單不完整

情境問題

專案:2024/12/1 - 2025/3/31
假日清單:只包含 2025 年假日
結果:2024 年 12 月的假日未被排除

正確做法

建立多年度假日清單:
2024 年假日:Sheet2!A2:A15
2025 年假日:Sheet2!A16:A30
合併範圍:Sheet2!A2:A30

錯誤 4:起訖日期順序錯誤

常見錯誤

=NETWORKDAYS("2025/3/1", "2025/2/1", 假日清單)
結果:#NUM! 錯誤

原因:結束日期早於開始日期

正確做法

加入檢查:
=IF(C2<B2, "日期錯誤", NETWORKDAYS(B2, C2, 假日清單))

錯誤 5:WORKDAY 結果遇假日未調整

情境問題

=WORKDAY("2025/2/1", 10, 假日清單)
結果:2025/2/15(六)← 遇到週六

實務問題:
合約寫「2/15 交貨」但當天是週六

解決方案

方法 1:自動調整至下一工作日
=WORKDAY(WORKDAY("2025/2/1", 10, 假日清單), 0, 假日清單)

方法 2:加入星期判斷
=IF(WEEKDAY(G2,2)>5, "週末需調整", G2)

要點 7-特殊產業的工作日計算

產業 1:製造業(24 小時輪班)

特殊規定
- 週末可能有部分產線運作
- 國定假日輪班照常
- 需自訂「生產工作日」

Excel 處理

情況 A:週日也生產(只有週六休息)
=NETWORKDAYS.INTL(B2, C2, 11, 假日清單)
參數 11 = 只有週日休息

情況 B:國定假日也生產
=C2-B2+1-SUMPRODUCT((WEEKDAY(ROW(INDIRECT(B2&":"&C2)),2)=7)*1)
只扣除週日,不扣國定假日

產業 2:醫療業(無週末概念)

特殊規定
- 醫院全年無休
- 以「班表」定義工作日
- 無統一週末

Excel 處理

方法:建立個人班表
A 欄:日期
B 欄:是否上班(1=上班,0=休假)

計算工作日:
=SUMIF(B:B, 1, B:B)

產業 3:零售業(週末才是旺季)

特殊規定
- 週末、假日正常營業
- 平日可能輪休
- 以「營業日」計算

Excel 處理

營業日 = 全年扣除公司公休日

假設每週二公休:
=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(B2&":"&C2)),2)<>2)*1)
排除所有週二

產業 4:科技業(彈性工時)

特殊規定
- 可能實施週休三日
- 彈性上下班
- 工作日定義模糊

Excel 處理

以「專案里程碑」取代工作日
或使用「人天」(Person-Day) 計算

公式:
專案人天 = 人數 × 工作日數
=5人 × NETWORKDAYS(B2, C2, 假日清單)

要點 8-工作日計算工具比較

工具 1:Excel(最常用)

優點
- ✅ 辦公室普及率高
- ✅ 可客製化假日清單
- ✅ 結合其他數據分析

缺點
- ❌ 需手動更新假日
- ❌ 跨年度處理複雜
- ❌ 公式較難理解

適合族群
- 需要製作專案報表
- 需整合其他財務數據
- 公司標準作業流程

工具 2:線上工作日計算器

優點
- ✅ 即時計算,無需安裝
- ✅ 自動更新假日資料
- ✅ 介面直覺易用

缺點
- ❌ 無法批次處理
- ❌ 數據不易保存
- ❌ 客製化程度低

適合族群
- 臨時快速計算
- 不需要保留記錄
- 非專業用戶

推薦工具
- 工作日計算器 - 本地處理更安全
- 日期計算器 - 基本日期運算

工具 3:Google Sheets(雲端協作)

優點
- ✅ 多人協作
- ✅ 雲端自動儲存
- ✅ 函數與 Excel 相容

缺點
- ❌ 需網路連線
- ❌ 效能較 Excel 差
- ❌ 進階功能較少

適合族群
- 遠距團隊協作
- 需要即時共用資料
- 多裝置存取

工具 4:專案管理軟體(整合方案)

常見軟體
- Microsoft Project
- Jira
- Asana
- Monday.com

優點
- ✅ 自動計算工作日
- ✅ 整合專案排程
- ✅ 甘特圖視覺化

缺點
- ❌ 費用較高
- ❌ 學習曲線陡峭
- ❌ 需團隊配合使用

適合族群
- 大型專案管理
- 多專案並行
- 需要資源排程


要點 9-工作日計算的法律爭議

爭議 1:合約「工作日」定義不明

常見情況

合約條款:「自簽約日起 30 個工作日內交貨」
爭議點:
- 工作日是否包含國定假日?
- 補班日算不算工作日?
- 颱風假算不算?

預防措施

合約建議寫法:
「自簽約日起 30 個工作日(週一至週五,
  扣除中華民國國定假日及政府公告之停班日)內交貨」

更明確:
「自 2025/2/1 起至 2025/3/15 止(共 30 個工作日)交貨」
直接寫明截止日期

爭議 2:延遲交貨的工作日計算

案例

原定交貨日:2025/2/28(五)
實際交貨日:2025/3/5(三)

甲方主張:延遲 5 天(自然日)
乙方主張:延遲 3 天(工作日,扣除週末)

爭議:以哪個為準?

法律實務
- 合約有約定 → 依約定
- 合約未約定 → 以「自然日」為準(較常見)
- 可透過調解協商

爭議 3:不可抗力的工作日展延

情境

專案進行中遇颱風停班 3 天
乙方主張:交貨日應展延 3 個工作日
甲方主張:風險自負,不得展延

法律判斷:
- 看合約是否有「不可抗力條款」
- 若有 → 可展延
- 若無 → 需舉證影響程度

要點 10-工作日計算最佳實踐

實踐 1:建立標準化假日清單

企業做法

由人資部門統一維護:
- 2025 年假日清單
- 2026 年假日清單
- 存放於共用資料夾:\\Server\HR\假日清單.xlsx

所有專案、合約、人資計算統一引用

實踐 2:合約明確約定計算方式

範本條款

第 X 條 工作日定義

一、本合約所稱「工作日」,指週一至週五之日曆日,
    但扣除中華民國政府公告之國定假日及停班日。

二、補班日視為工作日。

三、因天然災害(颱風、地震)等不可抗力因素導致
    政府公告停班者,交付期限自動順延相同日數。

四、如遇爭議,以行政院人事行政總處公告為準。

實踐 3:專案管理自動化

工具整合

1. 使用專案管理軟體(Jira、Asana)
2. 匯入公司假日行事曆
3. 設定自動計算工作日
4. 定期更新假日資料

優點:
- 減少人工計算錯誤
- 即時同步全團隊
- 自動調整里程碑

實踐 4:定期校驗和審計

建議流程

每季檢查:
1. 假日清單是否更新
2. Excel 公式是否正確
3. 歷史專案工作日計算是否準確
4. 發現錯誤立即修正並通知相關人員

實踐 5:培訓和文件化

企業培訓

對象:專案經理、人資、合約管理人員
內容:
- 工作日計算基本原則
- Excel 函數使用教學
- 常見錯誤案例分享
- 爭議處理流程

頻率:每半年一次

結論:精準計算工作日,專案管理不出包

3 個核心重點

重點 1:理解工作日定義
- 工作日 = 週一至週五扣除國定假日
- 補班日要算進去
- 颱風假要扣除

重點 2:善用工具和公式
- Excel:NETWORKDAYS + WORKDAY
- 線上工具:快速驗證
- Python:大量資料處理

重點 3:避免常見錯誤
- 記得排除國定假日
- 跨年度假日清單要完整
- 合約明確約定計算方式

實用資源整合

Excel 模板下載(建議自行建立):
- 2025 年台灣國定假日清單
- 工作日計算主表
- 專案時程規劃表

線上工具
- 工作日計算器 - 自動排除假日
- 日期計算器 - 基本日期運算
- 日期間隔計算 - 區間計算

延伸閱讀
- 日期計算器完整指南 - 線上工具、Excel 公式與 12 種實用場景
- Excel 日期計算公式大全 - DATEDIF、EDATE、NETWORKDAYS 完整教學
- 離職預告期日期計算全攻略 - 勞基法規定與預告期對照表
- 育嬰留停日期計算完整攻略 - 2025 最新法規與 Excel 公式

插圖 2:Excel 工作日計算表格範例

場景描述: 電腦螢幕特寫,顯示 Excel 軟體視窗,工作表中有清晰的工作日計算表格,包含多個欄位(開始日期、結束日期、工作日數等),儲存格中有公式和數值,螢幕旁邊放著筆記本和原子筆,鍵盤和滑鼠部分可見。自然的辦公室環境光線。

視覺重點:
- 前景:Excel 視窗(佔畫面 80%)
- 中景:鍵盤、滑鼠、筆記本
- 背景:辦公桌面、虛化處理

必須出現的元素:
- 電腦螢幕(24 吋左右,16:9 比例)
- Excel 軟體介面(清晰可辨識的 Excel 視窗)
- 工作表標籤(Sheet1)
- Excel 功能列(檔案、常用、插入等選單)
- 表格內容(至少 5 列數據)
- 儲存格框線(清楚的表格結構)
- 公式列(顯示選中儲存格的公式)
- 無線鍵盤(黑色或白色,Apple 或 Logitech 風格)
- 滑鼠(無線滑鼠)
- 筆記本(A5 或 B5 尺寸,攤開或半開)
- 藍色或黑色原子筆
- 辦公桌面(木質或白色)

需要顯示的中文字:
- Excel 視窗標題:「工作日計算表.xlsx - Excel」(使用系統標準字體,10pt)
- 表格欄位標題(第 1 列,粗體,12pt,黑色背景或淺灰背景):
- A1:「專案名稱」
- B1:「開始日期」
- C1:「結束日期」
- D1:「自然日數」
- E1:「工作日數」
- F1:「預計完成日」
- 表格數據範例(第 2 列,11pt,黑色字體):
- A2:「網站改版專案」
- B2:「2025/2/3」
- C2:「2025/2/28」
- D2:「26」
- E2:「18」
- F2:「2025/2/28」
- 公式列顯示(當選中 E2 儲存格時):
- 「=NETWORKDAYS(B2,C2,假日清單)」(使用 Consolas 或 Courier New 字體,11pt)

顯示圖片/人物風格: 真實螢幕截圖風格,清晰的 Excel 介面攝影,展現專業的工作日計算表格實際使用情境。

顏色調性: Excel 綠、辦公白、螢幕藍

避免元素: 人物出現、手部特寫、卡通圖示、箭頭特效、對話框、強調圈、過多反光、模糊不清的文字、咖啡杯、盆栽

Slug: excel-workday-calculation-spreadsheet-example


參考資料

  1. Microsoft Excel 官方文檔「NETWORKDAYS 函數說明」
  2. 行政院人事行政總處「中華民國 2025 年政府行政機關辦公日曆表」
  3. 勞動部「工作日與自然日差異說明」2024 年版
  4. 專案管理學會(PMI)《PMBOK 指南》第七版(時間管理章節)
  5. Python pandas 官方文檔「Business Day Frequencies」
  6. 台灣契約法實務「工作日定義爭議判決」彙編(2020-2024)

延伸閱讀

完整指南系列
- 日期計算器完整指南 - 線上工具、Excel 公式與 12 種實用場景
- Excel 日期計算公式大全 - DATEDIF、EDATE、NETWORKDAYS 完整教學與 50+ 範例
- 離職預告期日期計算全攻略 - 勞基法規定、預告期對照表與 5 種特殊情境
- 育嬰留停日期計算完整攻略 - 2025 最新法規、Excel 公式與 PTT 經驗

進階主題
- 線上日期計算工具完整評比 - 10 款熱門工具實測與選擇指南
- 程式開發日期處理完整指南 - JavaScript、Python、Java 等 6 種語言實戰範例


推薦工具

日期計算核心工具
- 工作日計算器 - 自動排除台灣假日
- 日期計算器 - 基本日期加減運算
- 日期間隔計算 - 精確計算區間

技術文檔
- 日期計算器技術實作 - 演算法詳解
- 日期間隔計算技術實作 - 開發者必讀

相關工具分類
- 更多生活工具 - 探索實用工具
- 更多開發工具 - 程式開發輔助


常見問題(FAQ)

Q1:NETWORKDAYS 和 WORKDAY 有什麼差別?

:兩者用途不同:

NETWORKDAYS
- 計算兩個日期之間有幾個工作日
- 輸入:開始日期 + 結束日期
- 輸出:工作日數量(數字)
- 範例:=NETWORKDAYS("2025/2/1", "2025/2/28") → 20 天

WORKDAY
- 計算 N 個工作日後是哪一天
- 輸入:開始日期 + 工作日數
- 輸出:結束日期(日期)
- 範例:=WORKDAY("2025/2/1", 20) → 2025/2/28


Q2:如何處理補班日?

:補班日應該算工作日,有兩種處理方式:

方法 1:不加入假日清單(推薦)

假日清單只放真正放假的日期
補班日自然會被計入工作日

方法 2:手動調整

若誤把補班日加入假日清單:
刪除該日期即可

注意:2025/1/4(六)是補班日,不要加入假日清單!


Q3:跨年度專案如何建立假日清單?

:建立多年度假日清單:

在 Sheet2 建立:
A1:日期
A2:2024/12/31(2024 年最後假日)
A3:2025/1/1(2025 年元旦)
A4:2025/1/28(春節)
...
A20:2026/1/1(2026 年元旦)

命名範圍:
選取 A2:A20 → 定義名稱 → 「假日清單」

公式引用:
=NETWORKDAYS(B2, C2, 假日清單)
會自動包含所有年度

Q4:為什麼 NETWORKDAYS 計算結果和實際不符?

:常見原因和檢查方式:

原因 1:未排除國定假日

檢查:是否有第 3 個參數(假日範圍)
修正:=NETWORKDAYS(B2, C2, 假日清單)

原因 2:假日清單不完整

檢查:假日清單是否包含所有國定假日
修正:補齊遺漏的假日

原因 3:日期格式錯誤

檢查:儲存格格式是否為「日期」
修正:選取儲存格 → 格式 → 日期

原因 4:起訖日期順序錯誤

檢查:結束日期是否早於開始日期
修正:調換順序或加入 IF 檢查

Q5:Python 計算工作日的最佳方法是什麼?

:推薦使用 pandas

import pandas as pd

# 最簡單的方式
holidays = pd.to_datetime([
    '2025-01-01', '2025-01-28', '2025-02-28'
])

date_range = pd.bdate_range(
    start='2025-02-01',
    end='2025-02-28',
    freq='C',  # 自訂工作日
    holidays=holidays
)

workdays = len(date_range)
print(f"工作日數:{workdays}")

優點
- 程式碼簡潔
- 效能優秀
- 可處理大量數據


Q6:合約上寫「10 個工作天」和「10 個工作日」有差別嗎?

:法律上沒有差別,都是指工作日。

建議寫法

明確:「10 個工作日(週一至週五,扣除國定假日)」
更明確:「自 2025/2/1 起至 2025/2/14 止」

避免爭議
- 明確定義計算方式
- 或直接寫明截止日期
- 避免使用模糊用語


Q7:週休三日公司的工作日怎麼算?

:使用 NETWORKDAYS.INTL 自訂週末:

假設週五、六、日休息:

=NETWORKDAYS.INTL(B2, C2, "0001110", 假日清單)

週末代碼說明(7 位數字):
0 = 工作日
1 = 休息日

"0001110" 表示:
週一:0(工作)
週二:0(工作)
週三:0(工作)
週四:1(休息)
週五:1(休息)
週六:1(休息)
週日:0(工作)

Q8:如何驗證工作日計算是否正確?

:3 種驗證方法:

方法 1:手動檢查(小範圍)

列出每一天,標示是否為工作日
逐一確認週末和國定假日

方法 2:使用線上工具交叉驗證

用 [工作日計算器](/tools/workday-calculator) 驗證
與 Excel 結果比對

方法 3:建立測試案例

已知答案的測試:
2025/2/3-2025/2/7(一到五)= 5 個工作日
2025/2/8-2025/2/9(六到日)= 0 個工作日
2025/2/10-2025/2/14(春節)= 0 個工作日

Q9:專案管理軟體(如 Jira)的工作日計算準確嗎?

:通常準確,但需注意:

優點
- 自動排除週末
- 可自訂假日
- 整合專案排程

需檢查
1. 公司假日行事曆是否已匯入
2. 補班日是否正確設定
3. 跨年度假日是否更新

建議
- 定期與人資確認假日清單
- 重要專案手動驗證
- 保留 Excel 備份計算


Q10:如何計算「X 個工作日前」的日期?

:使用 WORKDAY 的負數:

範例:交貨日前 15 個工作日需開始準備

交貨日:2025/3/31
開始日:=WORKDAY("2025/3/31", -15, 假日清單)
結果:2025/3/10(一)

解釋:
往前推 15 個工作日
自動跳過週末和國定假日

Python 範例

from datetime import datetime
import pandas as pd

end_date = '2025-03-31'
workdays_before = -15
holidays = [...]  # 假日清單

result = pd.bdate_range(
    end=end_date,
    periods=abs(workdays_before),
    freq='C',
    holidays=holidays
)[0]

print(f"開始日期:{result}")

Q11:不同國家的工作日計算有什麼差異?

:主要差異在週末定義:

國家/地區 週末 Excel 代碼
台灣、美國、歐洲 週六、日 1(預設)
中東(沙烏地、UAE) 週五、六 6
以色列 週五、六 7
印度 週日 11

使用方式

=NETWORKDAYS.INTL(B2, C2, 6, 中東假日清單)

Q12:工作日計算需要考慮閏年嗎?

:Excel 和程式語言會自動處理,無需手動調整。

範例

2024 年是閏年(2/29 存在)
2025 年是平年(2/29 不存在)

=NETWORKDAYS("2024/2/1", "2024/2/29", 假日清單)
正確計算:20 個工作日(Excel 自動識別 2/29)

=NETWORKDAYS("2025/2/1", "2025/2/29", 假日清單)
錯誤:#VALUE!(因為 2025 年沒有 2/29)

結論:使用正確的日期即可,函數會自動處理閏年。