若要在 Excel 中計算兩個日期之間的年,請使用 DATEDIF 函數,語法為 =DATEDIF(start_date, end_date, "Y") 以取得完整年數;或將單位引數改為 "M"(月)與 "D"(天);此函數會計算兩個日期之間已完成的間隔,是 Excel 內建最可靠的年齡計算方法。若要取得完整的「年/月/日」分解結果,則需要三次 DATEDIF 呼叫再加以串接,或者你也可以完全跳過試算表,改用免費的 年齡計算機,只要選好出生日期,就會立即顯示精確的年、月、日年齡。這兩種方法解決的問題相同——找出兩個日曆日期之間經過的時間——但在設定時間、彈性與分解的細緻程度上有所不同。
當你手上已經有一整份充滿出生日期、入職日期、合約起始日期,或是任何需要轉換為「年齡」或「年資」欄位的日期欄位時,Excel 就是最合適的工具。線上工具則更適合用於單次查詢(「我現在幾天大?」)、用來驗算手動結果,或是讀者根本沒有 Excel 的情況。這兩種方式是互補而非競爭,因此本指南會詳細說明 Excel 公式,並在公式不適合使用的情境下指引你使用瀏覽器工具。

為何 DATEDIF 是 Excel 計算年齡的標準公式
DATEDIF(全名為 "Date Difference")是 Excel 中一個隱藏但受支援的函數,會以完整的年、月或天為單位,回傳兩個日期之間的差距。與單純的減法不同,DATEDIF 對日曆有足夠的瞭解,能處理各月份天數不同、閏年,以及二月有 28 或 29 天而非一律 30 天的情況。Microsoft 文件化 DATEDIF 是基於相容性考量——它早於現代函數庫——因此它不會出現在公式自動完成的選單中,但在所有現代版本的 Excel 與 Google 試算表中都能以相同名稱運作。
此函數接受三個引數:起始日期、結束日期,以及以引號括起的單位字串。輸出結果由單位字串決定:
| 單位 | 回傳結果 | 範例(1990-06-15 至 2024-03-20) |
|---|---|---|
| "Y" | 已完成的完整年數 | 33 |
| "M" | 已完成的完整月數 | 405 |
| "D" | 總天數 | 12,329 |
| "YM" | 超過最後一個完整年的月數 | 9 |
| "MD" | 超過最後一個完整月的天數 | 5 |
| "YD" | 超過最後一個完整年的天數 | 279 |
在「年、月、日」分解結果中,最實用的變形是 Y/YM/MD 的組合,這也是大多數年齡計算機與人力資源系統所顯示的內容。MD 與 YD 單位略顯奇特——因為各月份天數不同,Excel 文件中將其標示為已知的近似結果——但對於一般性的年齡查詢,它們給出的答案符合人們的預期。
逐步在 Excel 中計算年齡
假設 A 欄儲存出生日期(A2 為第一筆),B 欄儲存要比對年齡的參考日期(或者你也可以直接在公式中使用 TODAY())。請依下列步驟建立可運作的年齡公式:
- 輸入或貼上你的日期。將起始日期放在 A2 儲存格,結束日期放在 B2 儲存格。兩者皆格式化為真正的日期(常用 → 數值格式 → 簡短日期或完整日期)。若任一儲存格以文字格式儲存,DATEDIF 會回傳 #VALUE! 錯誤。
- 計算已完成的年數。在 C2 儲存格中輸入
=DATEDIF(A2,B2,"Y")後按 Enter。這就是以整年表示的年齡,也是大多數人慣用的說法(「33 歲」)。 - 計算剩餘的月數。在 D2 儲存格中輸入
=DATEDIF(A2,B2,"YM")。此公式會計算自上一次生日以來經過了幾個完整月數,忽略當月的日期。 - 計算剩餘的天數。在 E2 儲存格中輸入
=DATEDIF(A2,B2,"MD")。此公式會計算超過最後一個完整月之後的天數,同樣忽略較長的月份。 - 將三者組合成可讀的字串。在 F2 儲存格中,使用
=C2 & " years, " & D2 & " months, " & E2 & " days"來顯示「33 years, 9 months, 5 days」。 - 若需要即時更新的年齡,可使用 TODAY()。將上述任一公式中的 B2 替換為
TODAY(),年齡就會在每次開啟或重新計算試算表時自動更新。 - 將公式往下複製。選取 C2:F2,向下拖曳填滿控點,即可將同一個年齡計算套用至日期清單中的每一列。
這就是「如何用 Excel 計算兩個日期之間年齡」的標準做法。DATEDIF 函數負責處理日曆運算,串接則建立出人類易讀的摘要。同樣的模式在 Google 試算表與 LibreOffice Calc 中皆可使用,語法完全相同。
其他 Excel 公式:YEARFRAC 與快速近似法
DATEDIF 是正確的預設選擇,但還有兩個公式也經常出現,值得認識。第一個是 =(YEAR(B2)-YEAR(A2)) 搭配日期檢查,這是部分較舊的 Excel 指南所推薦的快速簡便方法。它會回傳日曆年的差異,並在結束日期的年度中尚未到達生日時扣減 1。這個公式雖然簡短,但無法回傳月數或天數,且在閏日(非閏年的 2 月 29 日生日)附近會出現混淆。
第二個是 YEARFRAC,它會以小數形式回傳年齡:=YEARFRAC(A2, B2, 1)。最後一個引數決定日數計算基準——1 代表 actual/actual(實際天數/實際天數),這也是大多數年齡計算的標準。當你需要以小數年表示利息、既得權利計算表或任何精算數學時,YEARFRAC 是首選公式,因為它會依據每年的實際長度加權,並正確處理閏年。至於一般的「我幾歲」問題,DATEDIF 的整數輸出較易閱讀。
對於標準的「年/月/日」分解結果,這兩種替代方案都無法取代 DATEDIF。YEARFRAC 與 YEAR 差值簡便法最適合視為特殊工具,用於結果必須為數字而非日曆式年齡的情境。
常見的 Excel 年齡公式錯誤與修正方法
大多數 DATEDIF 錯誤都屬於少數幾種類型,只要知道要觀察哪些地方,診斷起來並不困難:
- #VALUE! 錯誤。起始或結束儲存格以文字格式儲存。請將儲存格重新格式化為簡短日期並重新輸入數值,或將其包入 DATEVALUE() 中。
- 日期順序顛倒,結果顯示為 0 或極大值。當起始日期晚於結束日期時,DATEDIF 會回傳負數(或 0)。請將兩個引數對調,或先使用 IF 檢查順序。
- 月底 "MD" 出現怪異數值。MD 單位為近似值。若需要精確的天數計算,請使用
=B2-DATE(YEAR(B2)-DATEDIF(A2,B2,"Y"), MONTH(A2), DAY(A2))-DATEDIF(A2,B2,"Y")*365.25,或跳過 MD,改由其他兩個 DATEDIF 單位計算天數部分。 - 年齡差一年。最常見的原因是直接使用
=YEAR(B2)-YEAR(A2)而未進行月/日檢查。改用 "Y" 單位的 DATEDIF,差一問題就會消失。 - 公式未更新。活頁簿的計算方式被設為手動。請按 F9 重新計算,或至 公式 → 計算選項 將活頁簿切換回自動計算。
若試算表持續出問題,使用瀏覽器工具驗算通常會比除錯公式更快。將同樣的兩個日期輸入 年齡計算機,一秒內就能看到預期的「年/月/日」分解結果,作為已知的正確數值供你對照。
何時應使用線上年齡計算機而非 Excel
當你需要處理大量日期,或年齡結果會進一步用於試算表輯時,Excel 是合適的工具。對於單次性問題——「我幾週大?」、「距離我 50 歲生日還有幾天?」、「我 2017 年開始那份工作那天是幾歲?」——瀏覽器工具速度更快,且能提供比公式更詳細的資訊。典型的年齡計算機會接收一個出生日期(可選擇性地接收第二個參考日期),並回傳年、月、日、總月數、總週數、總天數、時數、分鐘數,以及距離下次生日的即時倒數。這些都不需要撰寫任何公式。
對於與年齡相關的日期運算——計算兩個日期之間的工作天數、為發票日期加上 90 天,或找出某日期是星期幾——有幾個相關工具值得與年齡計算機一同收藏。日期差異計算機可以計算任意兩個日期之間的天、週、月差距。日期加減計算機可以將起始日期往前或往後平移任意的天、週、月、年數。星期幾計算機則能告訴你指定日期落在星期幾。與 年計算機 搭配使用,它們涵蓋了大多數人平常在 Excel 中嘗試以脆弱公式處理的日曆運算。
若讀者希望仍將工作保留在 Excel 中,但想快速做一次檢核,工作流程非常簡單:先建立 DATEDIF 公式,再以手動方式或年齡計算機驗算其中一兩列。一旦公式輸出在最初幾列能與工具結果相符,後續整欄的結果便可放心採用。這就是專業人士同時運用這兩種工具的方式——試算表負責大量處理,瀏器工具負責驗證。
快速參考:年齡公式一覽
| 目標 | 公式 | 適用情境 |
|---|---|---|
| 僅以完整年份表示的年齡 | =DATEDIF(A2,B2,"Y") | 人力資源紀錄、年齡門檻、資格檢查 |
| 以年、月、日表示的年齡 | =DATEDIF(A2,B2,"Y") & "y " & DATEDIF(A2,B2,"YM") & "m " & DATEDIF(A2,B2,"MD") & "d" | 顯示友善的年齡字串 |
| 已活總月數 | =DATEDIF(A2,B2,"M") | 訂閱或帳單使用期間 |
| 以小數年表示的年齡 | =YEARFRAC(A2,B2,1) | 利息、歸屬權、小數年齡計算 |
| 截至今日的即時年齡 | =DATEDIF(A2,TODAY(),"Y") | 應自動更新年齡的試算表 |
| 快速的僅年份近似值 | =YEAR(B2)-YEAR(A2)-(IF(DATE(YEAR(B2),MONTH(A2),DAY(A2))>B2,1,0)) | 已採用此模式的舊有報表 |
DATEDIF 模式是值得牢記的公式。其他公式則有特定的用途,而瀏覽器版的年齡計算機可處理單一 Excel 公式無法在單一儲存格中給出的特殊情況(精確天數計算、未來參考日期、距離下次生日的倒數)。
相關主題:如何由單邊邊長計算正方體體積。
如需更深入的瞭解,請參閱如何將角度從度數轉換為弧度(逐步教學)。
如需更深入的瞭解,請參閱如何使用免費線上工具計算環形面積。
如需更深入的瞭解,請參閱如何在 Excel 中由出生日期快速計算年齡。