Excel 日期計算公式大全|DATEDIF、EDATE、NETWORKDAYS 完整教學【2025】
Excel 日期計算公式大全|DATEDIF、EDATE、NETWORKDAYS 完整教學【2025】
引言:為什麼要學 Excel 日期公式?
算年資算到眼花?計算工作天數怕算錯?想批次處理幾百筆日期資料?
別再用計算機一筆一筆算了!本文教你 10 個最實用的 Excel 日期公式,從基礎到進階全部搞定。
涵蓋 DATEDIF、EDATE、NETWORKDAYS 等核心函數,附上 50 個實際應用範例和可下載 Excel 範本,看完立刻上手!
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
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 並分享給需要的朋友!
參考資料
- Microsoft,《Excel 函數參考 - 日期和時間函數》
- ExcelJet,《Excel Date Functions Guide》
- Spreadsheet Guru,《Master Excel Date Calculations》
- 台灣勞動部,《勞動基準法》(年資計算相關規定)
- 行政院人事行政總處,《中華民國113年政府行政機關辦公日曆表》