Excel 日期計算公式大全|DATEDIF、EDATE、NETWORKDAYS 完整教學【2025】

Excel 日期計算公式大全|DATEDIF、EDATE、NETWORKDAYS 完整教學【2025】

DATEDIF函數參數詳解圖,展示Y、M、D、MD、YM、YD各單位的用途
DATEDIF函數參數詳解圖,展示Y、M、D、MD、YM、YD各單位的用途

引言:為什麼要學 Excel 日期公式?

算年資算到眼花?計算工作天數怕算錯?想批次處理幾百筆日期資料?

別再用計算機一筆一筆算了!本文教你 10 個最實用的 Excel 日期公式,從基礎到進階全部搞定。

涵蓋 DATEDIF、EDATE、NETWORKDAYS 等核心函數,附上 50 個實際應用範例可下載 Excel 範本,看完立刻上手!


NETWORKDAYS工作日計算圖解,展示排除週末和假日的計算邏輯
NETWORKDAYS工作日計算圖解,展示排除週末和假日的計算邏輯

Excel 日期計算基礎概念

Excel 如何儲存日期?

在開始學公式前,先了解 Excel 怎麼處理日期。

序列值系統
- Excel 把日期儲存成「序列值」(數字)
- 1900/1/1 = 1
- 1900/1/2 = 2
- 2024/1/1 = 45292

為什麼要這樣?

因為數字可以直接計算!

2024/12/31 - 2024/1/1 = 45657 - 45292 = 365 天

查看序列值
1. 選取日期儲存格
2. 按 Ctrl+1 開啟格式設定
3. 選擇「數值」格式
4. 就能看到背後的數字

日期格式設定

常用日期格式

格式代碼 顯示結果 說明
yyyy/mm/dd 2024/01/27 標準格式
yyyy-mm-dd 2024-01-27 ISO 格式
mm/dd/yyyy 01/27/2024 美式格式
dd/mm/yyyy 27/01/2024 歐式格式
yyyy年m月d日 2024年1月27日 中文格式
aaaa 星期六 星期幾

自訂格式
- 按 Ctrl+1
- 選「自訂」
- 輸入格式代碼(如 yyyy年m月d日 aaaa
- 結果:「2024年1月27日 星期六」

常見日期輸入錯誤

錯誤 1:輸入成文字

❌ '2024/1/1  (前面有單引號)
✅ 2024/1/1   (正常日期)

檢查方法
- 文字會靠左對齊
- 日期會靠右對齊

錯誤 2:格式不統一

❌ 2024/1/1 和 01/01/2024 混用
✅ 統一用 yyyy/mm/dd

錯誤 3:超出有效範圍

❌ 1899/12/31 (太早)
❌ 10000/1/1  (太晚)
✅ 1900/1/1 ~ 9999/12/31

Excel日期函數應用場景對照表,包含12種實務案例
Excel日期函數應用場景對照表,包含12種實務案例

10 個核心日期計算公式

1. DATEDIF - 萬用日期差計算

功能:計算兩個日期之間的年/月/日差異

語法

=DATEDIF(開始日期, 結束日期, 單位)

6 種單位代碼

代碼 功能 範例結果
"Y" 完整年數 3
"M" 完整月數 38
"D" 總天數 1156
"MD" 不含年月的天數 15
"YM" 不含年的月數 2
"YD" 不含年的天數 75

實用範例

範例 1:計算年資

=DATEDIF(A2, TODAY(), "Y") & " 年 " & DATEDIF(A2, TODAY(), "YM") & " 個月"
// A2 = 2020/1/1
// 結果:「5 年 0 個月」

範例 2:計算年齡

=DATEDIF(生日, TODAY(), "Y")
// 生日 = 1990/5/15
// 結果:34 (周歲)

範例 3:計算專案天數

=DATEDIF(專案開始日, 專案結束日, "D")
// 結果:總天數

範例 4:精確到年月日

=DATEDIF(A2,B2,"Y") & "年" & DATEDIF(A2,B2,"YM") & "月" & DATEDIF(A2,B2,"MD") & "天"
// 結果:「3年2月15天」

特別提醒
- DATEDIF 是 Excel 的「隱藏函數」
- 不會出現在函數列表中
- 但可以直接輸入使用
- 功能完全正常

💻 驗證公式結果:用 日期計算器 快速驗證你的 Excel 公式是否正確。


2. EDATE - 加減月份神器

功能:在指定日期加上或減去指定月數

語法

=EDATE(開始日期, 月數)

實用範例

範例 1:計算合約到期日(1年)

=EDATE(A2, 12)
// A2 = 2024/1/1
// 結果:2025/1/1

範例 2:往前推 6 個月

=EDATE(A2, -6)
// A2 = 2024/7/1
// 結果:2024/1/1

範例 3:育嬰留停結束日

=EDATE(開始日, 6)
// 結果:6個月後的日期

範例 4:季度結束日

Q1結束:=EDATE(年初, 3) - 1
Q2結束:=EDATE(年初, 6) - 1
Q3結束:=EDATE(年初, 9) - 1
Q4結束:=EDATE(年初, 12) - 1

範例 5:批次計算月繳日

第1期:=EDATE(撥款日, 1)
第2期:=EDATE(撥款日, 2)
第N期:=EDATE(撥款日, N)

自動處理月底

=EDATE("2024/1/31", 1)
// 結果:2024/2/29 (閏年自動調整)

=EDATE("2024/1/31", 3)
// 結果:2024/4/30 (自動調整到4月底)

3. NETWORKDAYS - 工作日計算

功能:計算兩日期間的工作日天數(自動排除週末)

語法

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

實用範例

範例 1:基本工作日計算

=NETWORKDAYS("2024/1/1", "2024/1/31")
// 結果:23 天 (排除週六日)

範例 2:排除國定假日

先建立假日清單(E2:E10):

2024/1/1   (元旦)
2024/2/8   (春節)
2024/2/9
2024/2/10
...

公式:

=NETWORKDAYS(A2, B2, E2:E10)
// 結果:排除週末和假日的工作天數

範例 3:本月工作日統計

=NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31), 假日範圍)

範例 4:出勤率計算

應出勤日:=NETWORKDAYS(月初, 月底, 假日)
實際出勤:=應出勤日 - 請假天數
出勤率:=實際出勤 / 應出勤日

範例 5:專案工期計算

總工作日:=NETWORKDAYS(專案開始, 專案結束, 假日)
已完成:=NETWORKDAYS(專案開始, TODAY(), 假日)
剩餘:=總工作日 - 已完成

4. WORKDAY - 推算工作日期

功能:從開始日期往後推算指定工作日後的日期

語法

=WORKDAY(開始日期, 天數, [假日])

實用範例

範例 1:計算交貨日(30工作日後)

=WORKDAY(下單日, 30, 假日範圍)
// 結果:30個工作日後的日期

範例 2:往前推算(負數)

=WORKDAY(到期日, -10, 假日範圍)
// 結果:往前推10個工作日

範例 3:專案里程碑

第一階段:=WORKDAY(專案啟動, 30, 假日)
第二階段:=WORKDAY(第一階段, 45, 假日)
驗收日:=WORKDAY(第二階段, 15, 假日)

範例 4:付款期限(發票後30日)

=WORKDAY(發票日期, 30, 假日)

範例 5:資遣通報期限(往前推10工作日)

=WORKDAY(離職日, -10, 假日)

5. YEARFRAC - 精確年份比例

功能:計算兩日期間的年數(含小數)

語法

=YEARFRAC(開始日期, 結束日期, [基準])

基準代碼

代碼 計算基準 說明
0 或省略 30/360 (美式) 每月30天,全年360天
1 實際/實際 實際天數 / 實際年天數
2 實際/360 實際天數 / 360
3 實際/365 實際天數 / 365
4 30/360 (歐式) 歐洲版本的30/360

實用範例

範例 1:精確年資(小數)

=YEARFRAC(到職日, TODAY(), 1)
// 結果:3.42 年

範例 2:利息計算(財務)

=本金 * 年利率 * YEARFRAC(開始日, 結束日, 1)
// 計算實際天數的利息

範例 3:折舊計算

=資產價值 * 年折舊率 * YEARFRAC(購入日, TODAY(), 1)

範例 4:年齡(精確到小數)

=YEARFRAC(生日, TODAY(), 1)
// 結果:34.68 歲

6. TODAY 與 NOW - 動態日期時間

TODAY - 今天日期

語法

=TODAY()

實用範例

範例 1:自動更新的倒數

=考試日期 - TODAY()
// 結果:剩餘天數(每天自動更新)

範例 2:動態年齡

=DATEDIF(生日, TODAY(), "Y")

範例 3:即時年資

=DATEDIF(到職日, TODAY(), "Y") & "年" & DATEDIF(到職日, TODAY(), "YM") & "月"

NOW - 現在日期時間

語法

=NOW()

實用範例

範例 1:時間戳記

=NOW()
// 結果:2024/1/27 14:35:22

範例 2:只顯示時間部分

=TEXT(NOW(), "hh:mm:ss")
// 結果:14:35:22

重要提醒
- TODAY 和 NOW 會隨時更新
- 開啟檔案時自動重算
- 不適合作為固定紀錄(會變動)
- 需要固定日期時請手動輸入


7. DATE - 建立日期

功能:從年、月、日數字組合成日期

語法

=DATE(年, 月, 日)

實用範例

範例 1:組合成日期

=DATE(2024, 1, 27)
// 結果:2024/1/27

範例 2:從分開的欄位組合

=DATE(A2, B2, C2)
// A2=2024, B2=1, C2=27
// 結果:2024/1/27

範例 3:計算月底

=DATE(2024, 2, 0)  // 2月0日 = 1月最後一天
// 結果:2024/1/31

=DATE(2024, 3, 0)  // 3月0日 = 2月最後一天
// 結果:2024/2/29 (閏年)

範例 4:本月第一天

=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)

範例 5:本年第一天

=DATE(YEAR(TODAY()), 1, 1)

範例 6:智能日期(自動調整)

=DATE(2024, 13, 1)  // 13月自動變成下一年1月
// 結果:2025/1/1

=DATE(2024, 1, 32)  // 32日自動調整
// 結果:2024/2/1

8. YEAR、MONTH、DAY - 提取日期部分

功能:從日期中提取年、月、日

語法

=YEAR(日期)
=MONTH(日期)
=DAY(日期)

實用範例

範例 1:提取年份

=YEAR("2024/1/27")
// 結果:2024

範例 2:提取月份

=MONTH("2024/1/27")
// 結果:1

範例 3:提取日

=DAY("2024/1/27")
// 結果:27

範例 4:判斷季度

=ROUNDUP(MONTH(A2)/3, 0)
// 結果:1~4 (第幾季)

範例 5:判斷上下半年

=IF(MONTH(A2)<=6, "上半年", "下半年")

範例 6:生日提醒

=IF(AND(MONTH(生日)=MONTH(TODAY()), DAY(生日)=DAY(TODAY())), "今天生日!", "")

9. WEEKDAY - 星期幾判斷

功能:判斷日期是星期幾

語法

=WEEKDAY(日期, [類型])

類型代碼

類型 星期日 星期一 ... 星期六
1或省略 1 2 ... 7
2 7 1 ... 6
3 6 0 ... 5

實用範例

範例 1:顯示中文星期

=TEXT(A2, "aaaa")
// 結果:星期六

範例 2:判斷是否週末

=IF(WEEKDAY(A2,2)>5, "週末", "平日")
// 類型2:週一=1, 週六=6, 週日=7

範例 3:計算下個星期一

=A2 + MOD(9-WEEKDAY(A2), 7)

範例 4:排班應用(週末加成)

=IF(WEEKDAY(日期,2)>5, 時薪*1.5, 時薪)

範例 5:條件格式(週末標色)

條件:=WEEKDAY(A1,2)>5
格式:底色灰色

10. EOMONTH - 月底日期

功能:計算某月的最後一天

語法

=EOMONTH(開始日期, 月數)

實用範例

範例 1:本月最後一天

=EOMONTH(TODAY(), 0)

範例 2:下個月最後一天

=EOMONTH(TODAY(), 1)

範例 3:上個月最後一天

=EOMONTH(TODAY(), -1)

範例 4:計算月租到期日

租約開始:2024/1/15
第1期到期:=EOMONTH(租約開始, 1)  // 2024/2/29
第2期到期:=EOMONTH(租約開始, 2)  // 2024/3/31

範例 5:結合其他函數(月初+月底)

月初:=DATE(YEAR(A2), MONTH(A2), 1)
月底:=EOMONTH(A2, 0)
本月天數:=DAY(EOMONTH(A2, 0))

🎯 推薦工具組合

Excel 日期計算搭配線上工具使用,效率加倍:

工具 用途 特色
日期計算器 驗證公式結果 3秒驗證、本地處理
單位轉換器 時間單位轉換 天/週/月/年互轉

💡 小提示:先用線上工具快速查詢,確認結果後再寫 Excel 公式,避免公式寫錯。


50個實際應用範例

人資管理應用(10個)

1. 員工年資計算

=DATEDIF(到職日, TODAY(), "Y") & "年" & DATEDIF(到職日, TODAY(), "YM") & "月"

2. 試用期結束日

=EDATE(到職日, 3)  // 3個月試用期

3. 離職預告期判斷

=IF(DATEDIF(到職日,離職日,"Y")<1, 10,
   IF(DATEDIF(到職日,離職日,"Y")<3, 20, 30))

4. 本月應出勤日

=NETWORKDAYS(月初, 月底, 假日範圍)

5. 實際出勤率

=(應出勤日-請假天數-曠職天數) / 應出勤日

6. 年假天數計算

年資 = DATEDIF(到職日, TODAY(), "Y")
年假 = IF(年資<1, 3, IF(年資<2, 7, IF(年資<3, 10,
        IF(年資<5, 14, IF(年資<10, 15, 30)))))

7. 勞保年資

=DATEDIF(加保日, 退保日, "Y") & "年" & DATEDIF(加保日, 退保日, "YM") & "月"

8. 退休年齡檢查

=IF(DATEDIF(生日, TODAY(), "Y")>=65, "已達退休年齡", "未達")

9. 育嬰留停期限

開始日 = A2
結束日 = EDATE(A2, 6)  // 6個月
最晚期限 = EDATE(子女出生日, 36)  // 3歲前

10. 排班週末判斷

=IF(WEEKDAY(日期,2)>5, "週末班", "平日班")

專案管理應用(10個)

11. 專案總工作日

=NETWORKDAYS(專案開始, 專案結束, 假日)

12. 專案完成百分比

已完成 = NETWORKDAYS(專案開始, TODAY(), 假日)
總天數 = NETWORKDAYS(專案開始, 專案結束, 假日)
完成率 = 已完成 / 總天數

13. 里程碑日期

階段1:=WORKDAY(專案開始, 30, 假日)
階段2:=WORKDAY(階段1, 45, 假日)
驗收:=WORKDAY(階段2, 15, 假日)

14. 專案延遲天數

=NETWORKDAYS(預計完成日, TODAY(), 假日)

15. 緩衝天數計算

=NETWORKDAYS(最早完成日, 最晚完成日, 假日)

16. 甘特圖開始日

=WORKDAY(前置任務結束日, 1, 假日)

17. 關鍵路徑天數

=NETWORKDAYS(任務A開始, 任務F結束, 假日)

18. 本週任務篩選

=AND(日期>=TODAY()-WEEKDAY(TODAY(),2)+1,
     日期<=TODAY()-WEEKDAY(TODAY(),2)+7)

19. 逾期標記

=IF(AND(完成狀態<>"完成", TODAY()>到期日), "逾期", "")

20. 提前完成天數

=NETWORKDAYS(實際完成日, 預定完成日, 假日)

財務會計應用(10個)

21. 應收帳款帳齡

=DATEDIF(發票日期, TODAY(), "D")

22. 付款期限(發票後30日)

=發票日期 + 30

23. 逾期天數

=IF(TODAY()>到期日, DATEDIF(到期日, TODAY(), "D"), 0)

24. 利息計算(實際天數)

=本金 * 年利率 * YEARFRAC(開始日, 結束日, 1)

25. 貸款還款日

第N期:=EDATE(撥款日, N)

26. 已還期數

=DATEDIF(撥款日, TODAY(), "M")

27. 折舊年限

=YEARFRAC(購入日, TODAY(), 1)

28. 財務年度判斷(7月制)

=IF(MONTH(日期)<7, YEAR(日期)-1 & "年度", YEAR(日期) & "年度")

29. 季度營收統計

季度 = ROUNDUP(MONTH(日期)/3, 0)

30. 發票到期提醒(前7天)

=IF(到期日-TODAY()<=7, "即將到期", "")

個人生活應用(10個)

31. 倒數生日

下次生日 = DATE(YEAR(TODAY()), MONTH(生日), DAY(生日))
如果已過 = IF(下次生日<TODAY(), 下次生日+365, 下次生日)
倒數 = 如果已過 - TODAY()

32. 結婚紀念日週年

=DATEDIF(結婚日, TODAY(), "Y") & " 週年"

33. 小孩年齡(精確)

=DATEDIF(生日, TODAY(), "Y") & "歲" & DATEDIF(生日, TODAY(), "YM") & "個月"

34. 懷孕週數

=INT((TODAY()-最後月經日)/7) & "週" & MOD(TODAY()-最後月經日, 7) & "天"

35. 預產期

=最後月經日 + 280

36. 信用卡帳單日

本期:=DATE(YEAR(TODAY()), MONTH(TODAY()), 帳單日)
下期:=EDATE(本期, 1)

37. 租約到期提醒

=IF(到期日-TODAY()<=60, "需提前通知", "")

38. 護照到期檢查

=IF(到期日-TODAY()<=180, "建議更新", "有效")

39. 駕照換發提醒(6年)

換發日 = EDATE(發照日, 72)  // 6年 = 72個月

40. 訂閱服務續約日

月訂:=EDATE(上次付款, 1)
年訂:=EDATE(上次付款, 12)

進階組合應用(10個)

41. 動態月曆(判斷今天)

=IF(日期=TODAY(), "今", "")

42. 工作日倒數(排除週末假日)

=NETWORKDAYS(TODAY(), 截止日, 假日)

43. 智能年齡分組

=IF(年齡<18, "未成年",
   IF(年齡<30, "青年",
      IF(年齡<50, "中年", "熟年")))

44. 季節判斷

=CHOOSE(ROUNDUP(MONTH(日期)/3,0), "冬季", "春季", "夏季", "秋季")

45. 本月第幾週

=WEEKNUM(日期, 2) - WEEKNUM(DATE(YEAR(日期), MONTH(日期), 1), 2) + 1

46. 兩個日期是否同月

=IF(AND(YEAR(日期1)=YEAR(日期2), MONTH(日期1)=MONTH(日期2)), "同月", "不同月")

47. 計算閏年

=IF(DAY(DATE(YEAR(日期),3,0))=29, "閏年", "平年")

48. 星期幾統計(本月有幾個週一)

=SUMPRODUCT((MONTH(日期範圍)=MONTH(TODAY()))*(WEEKDAY(日期範圍,2)=1))

49. 最近的週一

=TODAY() - WEEKDAY(TODAY(),2) + 1

50. 下個月同一天

=EDATE(TODAY(), 1)

想了解更多日期計算應用?查看我們的 日期計算器完整指南,涵蓋 12 種實用場景與線上工具使用教學。


常見錯誤與解決方案

錯誤 1:#VALUE! 錯誤

原因
- 日期格式錯誤(輸入成文字)
- 公式中使用了文字而非日期

解決方案

檢查方法

=ISNUMBER(A2)  // 如果是 FALSE,代表不是數字/日期

轉換文字為日期

=DATEVALUE(A2)  // 將文字轉為日期

範例

❌ =DATEDIF("2024年1月1日", TODAY(), "D")  // 錯誤格式
✅ =DATEDIF(DATEVALUE("2024/1/1"), TODAY(), "D")  // 正確

錯誤 2:#NUM! 錯誤

原因
- DATEDIF 的開始日期晚於結束日期
- 日期超出有效範圍(1900~9999年)

解決方案

加入檢查

=IF(A2>B2, "日期順序錯誤", DATEDIF(A2, B2, "D"))

自動調整順序

=DATEDIF(MIN(A2,B2), MAX(A2,B2), "D")

錯誤 3:DATEDIF 找不到

原因
- DATEDIF 是隱藏函數,不在函數列表中

解決方案
- 直接手動輸入即可使用
- 功能完全正常
- 不會影響結果


錯誤 4:月底日期計算錯誤

問題範例

=DATE(2024, 1, 31) + 30  // 想加1個月
// 結果:2024/3/1 (不是2月底)

正確方法

=EDATE(DATE(2024, 1, 31), 1)
// 結果:2024/2/29 (正確的月底)

錯誤 5:工作日計算不準

原因
- 沒有提供假日範圍
- 假日範圍格式錯誤

解決方案

正確設定假日
1. 在另一欄位列出所有假日(一列一個)
2. 公式中引用整個範圍

❌ =NETWORKDAYS(A2, B2, "2024/1/1")  // 錯誤(文字)
✅ =NETWORKDAYS(A2, B2, E2:E20)      // 正確(範圍)

錯誤 6:閏年處理錯誤

問題:2月計算常出錯

檢查閏年

=IF(DAY(DATE(YEAR(日期),3,0))=29, "閏年", "平年")

正確計算 2 月天數

=DAY(DATE(2024, 3, 0))  // 2024年2月有幾天
// 結果:29 (閏年)

=DAY(DATE(2025, 3, 0))  // 2025年2月有幾天
// 結果:28 (平年)

錯誤 7:TODAY() 不會更新

原因
- Excel 設定為手動計算

解決方案

改為自動計算
1. 檔案 → 選項
2. 公式
3. 計算選項 → 自動

強制重算
- 按 F9(重算所有公式)
- Ctrl+Alt+F9(完整重算)


錯誤 8:跨年度計算錯誤

問題範例

// 2023/10/1 到 2024/3/1 是幾個月?
=DATEDIF("2023/10/1", "2024/3/1", "M")
// 結果:5 個月 ✅

// 但如果用 MONTH 函數
=MONTH("2024/3/1") - MONTH("2023/10/1")
// 結果:2 (錯誤!沒考慮跨年)

正確方法

=DATEDIF(開始日, 結束日, "M")  // 使用 DATEDIF

可下載 Excel 範本

為了讓你更快上手,我們準備了完整的 Excel 範本檔。

範本包含

工作表 1:公式速查表
- 10 個核心函數
- 語法說明
- 參數說明
- 範例公式

工作表 2:人資管理範本
- 年資計算
- 出勤管理
- 年假計算
- 離職預告期

工作表 3:專案管理範本
- 工作日計算
- 里程碑規劃
- 進度追蹤
- 甘特圖基礎

工作表 4:財務會計範本
- 應收帳款帳齡
- 利息計算
- 還款計劃
- 發票管理

工作表 5:2025 假日清單
- 台灣國定假日
- 可直接引用
- 自動更新公式

工作表 6:練習題
- 20 個實作題目
- 附標準答案

💾 下載範本(範本連結暫不提供,Tool Master 專注於線上工具服務)


進階技巧:動態命名範圍

什麼是動態命名範圍?

將假日清單設定為「命名範圍」,公式中可以直接用名稱引用,更易讀易維護。

設定步驟

1. 選取假日範圍 (例:E2:E20)

2. 定義名稱
- 公式 → 定義名稱
- 名稱:假日
- 參照範圍:=$E$2:$E$20

3. 在公式中使用

=NETWORKDAYS(A2, B2, 假日)  // 直接用名稱

動態範圍(自動擴展)

名稱:假日
參照範圍:=OFFSET(工作表1!$E$2,0,0,COUNTA(工作表1!$E:$E)-1,1)

這樣新增假日時,範圍會自動擴展!


條件格式應用

應用 1:週末自動標色

選取日期範圍 → 設定格式化的條件規則

公式:=WEEKDAY(A1,2)>5
格式:底色灰色

應用 2:逾期標紅

公式:=AND($D1<>"完成", TODAY()>$C1)
格式:底色紅色

應用 3:即將到期警示(7天內)

公式:=AND($C1-TODAY()<=7, $C1-TODAY()>0)
格式:底色橘色

應用 4:本週任務高亮

公式:=AND($B1>=TODAY()-WEEKDAY(TODAY(),2)+1, $B1<=TODAY()-WEEKDAY(TODAY(),2)+7)
格式:底色黃色

常見問題 FAQ

Q1:DATEDIF 為什麼在函數列表找不到?

:DATEDIF 是 Excel 的「隱藏函數」,不會出現在函數列表中。

原因
- 這是為了相容舊版 Lotus 1-2-3
- Microsoft 官方沒有正式文件化
- 但功能完全正常,可以放心使用

使用方法
直接手動輸入 =DATEDIF( 即可,不需要從列表選取。

Q2:如何計算跨年度的月數?

:使用 DATEDIF 函數的 "M" 單位。

=DATEDIF("2023/10/1", "2024/3/1", "M")
// 結果:5 個月

錯誤方法(不要用):

=MONTH(結束日) - MONTH(開始日)  // 跨年會錯誤

Q3:工作日計算要怎麼排除國定假日?

:使用 NETWORKDAYS 的第三個參數。

步驟

1. 建立假日清單(在另一欄):

2024/1/1
2024/2/8
2024/2/9
...

2. 公式引用範圍

=NETWORKDAYS(A2, B2, E2:E20)

3. 或使用命名範圍(更簡潔):

=NETWORKDAYS(A2, B2, 假日)

Q4:如何自動處理月底日期(避免變成下月初)?

:使用 EDATE 函數,它會自動調整月底。

範例

=EDATE("2024/1/31", 1)
// 結果:2024/2/29 (自動調整到2月底)

=EDATE("2024/1/31", 3)
// 結果:2024/4/30 (自動調整到4月底)

錯誤方法(會出錯):

="2024/1/31" + 30  // 結果:2024/3/1 (不是2月底)

Q5:如何計算精確的年資(包含年月日)?

:組合使用 DATEDIF 的 "Y"、"YM"、"MD" 單位。

=DATEDIF(到職日,TODAY(),"Y") & "年" &
 DATEDIF(到職日,TODAY(),"YM") & "月" &
 DATEDIF(到職日,TODAY(),"MD") & "天"

範例
- 到職:2020/3/15
- 今天:2024/1/27
- 結果:「3年10月12天」

Q6:TODAY() 為什麼不會自動更新?

:Excel 可能設定為「手動計算」模式。

解決方案

改為自動計算
1. 檔案 → 選項
2. 公式
3. 計算選項 → 自動

臨時重算
- 按 F9 鍵強制重算
- 或 Ctrl+Alt+F9 完整重算

Q7:如何判斷某個日期是否為週末?

:使用 WEEKDAY 函數。

方法 1(推薦):

=IF(WEEKDAY(日期,2)>5, "週末", "平日")
// 類型2:週一=1, 週六=6, 週日=7

方法 2

=IF(OR(WEEKDAY(日期)=1, WEEKDAY(日期)=7), "週末", "平日")
// 類型1:週日=1, 週六=7

Q8:Excel 日期計算會受閏年影響嗎?

:會!但 Excel 函數會自動處理。

自動處理的函數
- DATEDIF ✅
- EDATE ✅
- NETWORKDAYS ✅
- YEARFRAC ✅

需手動注意的
- 直接加減天數(可能需自己處理)
- 硬編碼的天數(如 +365 在閏年會少1天)

建議
優先使用 Excel 內建函數,避免手動計算。

Q9:如何批次計算幾百筆日期資料?

:使用公式向下拖曳填滿。

步驟

1. 在第一列寫公式

C2: =DATEDIF(A2, B2, "D")

2. 向下拖曳填滿
- 選取 C2 儲存格
- 滑鼠移到右下角(出現黑色十字)
- 雙擊或拖曳到最後一列

3. 自動套用到所有列

效率提升
- 幾百筆資料瞬間完成
- 自動更新(修改來源日期時)
- 可直接匯出成 CSV 或其他格式

Q10:有沒有線上工具可以驗證 Excel 公式結果?

:有!Tool Master 提供免費的日期計算器。

建議
- 寫公式前先確認預期結果
- 寫完公式後驗證計算是否正確
- 也可搭配線上日期計算器進行驗證


總結與下一步

下一步行動

如果你經常需要處理 Excel 日期計算,建議:

  • 收藏本文,隨時查閱公式語法
  • 下載範本,直接套用到工作中
  • 練習 50 個範例,熟悉各種應用場景
  • 搭配線上工具,用 日期計算器 驗證公式結果

延伸閱讀推薦

相關文章
- 日期計算器完整指南 - 線上工具、Excel 公式與 12 種實用場景
- 育嬰留停日期計算完整攻略 - 2025 法規、Excel 公式與 PTT 經驗整理
- 離職預告期日期計算全攻略 - 勞基法規定、預告期對照表與 5 種特殊情境
- 工作日計算完整攻略 - 排除假日、NETWORKDAYS 函數進階與專案排程實戰

想探索更多時間工具?查看 時間工具分類,發現 Tool Master 的所有時間相關功能。

💡 最後提醒

Excel 日期公式功能強大,但有時候臨時查詢用線上工具更快。

Tool Master 提供完全免費的 日期計算器
- 無需註冊、無需登入
- 資料本地處理,隱私安全
- 開網頁就能用,支援所有裝置

建議搭配使用
- Excel 公式 → 批量處理、自動化
- 線上工具 → 臨時查詢、驗證結果
- 兩者互補,效率加倍!

如果這篇文章對你有幫助,歡迎收藏 Tool Master 並分享給需要的朋友!


參考資料

  1. Microsoft,《Excel 函數參考 - 日期和時間函數》
  2. ExcelJet,《Excel Date Functions Guide》
  3. Spreadsheet Guru,《Master Excel Date Calculations》
  4. 台灣勞動部,《勞動基準法》(年資計算相關規定)
  5. 行政院人事行政總處,《中華民國113年政府行政機關辦公日曆表》