DATEDIF 函數是 Excel 中用來計算「兩個日期之間的差異」,可回傳年數、月數或日數,甚至是複合差異(例如完整年與剩餘月)。這個函數雖然未在函數清單中顯示,但仍可正常使用,適合用在年齡計算、資歷統計、到期分析等場景。
一、DATEDIF 函數語法與用途:計算年、月、日差的基礎工具
語法:
=DATEDIF(開始日期, 結束日期, 單位)
- 開始日期:計算區間的起始日期
- 結束日期:計算區間的結束日期
- 單位:指定要回傳的差異類型,以下為常用選項:

二、DATEDIF 函數範例:多場景應用教學
範例一:計算年齡(完整年數)
=DATEDIF(A1, TODAY(), "Y")
A1 為出生日期,結果為目前年齡。
範例二:計算資歷(完整年與月)
=DATEDIF(B1, TODAY(), "Y") & " 年 " & DATEDIF(B1, TODAY(), "YM") & " 個月"
B1 為入職日,結果為年資。
範例三:計算總天數差
=DATEDIF(C1, D1, "D")
C1 為起始日,D1 為結束日,結果為總天數。
範例四:計算剩餘月數(不含年)
=DATEDIF(E1, F1, "YM")
適合用於分期付款或剩餘月份分析。
範例五:計算剩餘日數(不含月與年)
=DATEDIF(G1, H1, "MD")
適合用於細部天數統計或到期提醒。
三、DATEDIF 函數注意事項與錯誤排除
- 若開始日期晚於結束日期,DATEDIF 會回傳錯誤
#NUM!
- 單位參數必須使用雙引號(例如
"Y"
),否則會錯誤 - DATEDIF 不會出現在 Excel 函數提示清單中,但可正常使用
- 若需同時顯示年、月、日差,需多次使用 DATEDIF 並組合文字
- DATEDIF 適合用在實際日期差分析,不適合用於 360 天制計算(請改用
DAYS360
)
四、常見問題解答(FAQ)
Q1:DATEDIF 和 DAYS 有什麼差別?
DATEDIF 可回傳年、月、日差,DAYS 只回傳總天數差。
Q2:DATEDIF 可以搭配條件判斷嗎?
可以,例如:
=IF(DATEDIF(A1, TODAY(), "Y")>=5, "資深", "新進")
Q3:DATEDIF 可以處理跨年或閏年嗎?
可以,DATEDIF 會依實際日期差計算,包含閏年天數。
五、進階技巧與延伸應用
DATEDIF 是日期差計算的基礎工具,進一步可以學習:
- YEARFRAC 函數:回傳年分比例(小數),適合利息與折舊分析
- TEXT 函數:格式化日期與輸出結果
- IF + DATEDIF:建立年齡分類、資歷判斷、到期提醒
- CONCAT / TEXTJOIN 函數:組合多段 DATEDIF 結果為完整句子
這些技巧適合用在人事管理、報表設計、時間統計等進階場景。
六、結語與延伸閱讀推薦
DATEDIF 函數是 Excel 中最靈活的日期差計算工具之一,適合用在年齡計算、資歷統計、到期分析等情境。學會 DATEDIF 後,可以進一步探索:
- [YEARFRAC 函數教學:計算年分比例的實用工具]
- [TEXT 函數教學:格式化日期與時間的實用方法]
- [IF 函數教學:邏輯判斷與條件控制]