KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

在 Excel 中取得或根據出生日期計算年齡

作者Xiaoyang修改日期

若您在 Excel 工作表中有一份員工的出生日期清單,並希望為每位員工快速計算年齡,可善用 Excel 內建的實用函數,例如 YEARFRAC 或 DATEDIF,輕鬆根據生日取得精確年齡。

doc-get-age-from-birthday-1


使用 YEARFRAC 函數根據出生日期計算年齡

在 Excel 中,YEARFRAC 函數可協助您根據給定的出生日期取得年齡,其一般語法如下:

=YEARFRAC(birthdate, TODAY())
  • birthdate:生日日期。
  • TODAY():此函數會傳回今天的日期。

請在空白儲存格中輸入下列公式:

=YEARFRAC(B2,TODAY())

接著,向下拖曳填滿控點至您要套用此公式的儲存格,所有年齡皆已計算完成並以小數形式顯示於儲存格中,如下圖所示:

doc-get-age-from-birthday-2

提示:使用 YEARFRAC 函數計算的結果為小數,若要將年齡轉為整數,請搭配 INT 函數,如下所示:

=INT(YEARFRAC(B2,TODAY()))

如此即可取得整數形式的年齡:

doc-get-age-from-birthday-3


使用 DATEDIF 函數根據出生日期計算年齡

DATEDIF 函數同樣可將出生日期轉換為年齡,其一般語法如下:

=DATEDIF(birthdate, TODAY(), "y")
  • birthdate:指您的生日日期。
  • TODAY():此函數會傳回今天的日期。
  • y:此函數會傳回從出生日期至目前日期之間的完整年數。

現在,請在空白儲存格中輸入或複製下列公式:

=DATEDIF(B2, TODAY(), "y")

所有年齡皆已根據出生日期計算完成,如下圖所示:

doc-get-age-from-birthday-4


根據出生日期計算以年、月、日表示的年齡

若您想取得人員的精確年齡,例如從其出生日期到目前日期共經歷多少年、月與日,請將多個 DATEDIF 函數串接成單一公式,如下所示:

=DATEDIF(B2,TODAY(),"Y") & " Years, " & DATEDIF(B2,TODAY(),"YM") & " Months, " & DATEDIF(B2,TODAY(),"MD") & " Days"

接著,您將獲得如下圖所示的結果:

doc-get-age-from-birthday-5

提示:若套用上述公式時希望隱藏顯示為 0 的年、月或日,可搭配 IF 函數來檢測是否為 0. 請使用下列公式:

=IF(DATEDIF(B2, TODAY(),"y")=0,"",DATEDIF(B2, TODAY(),"y")&" Years, ")& IF(DATEDIF(B2, TODAY(),"ym")=0,"",DATEDIF(B2, TODAY(),"ym")&" Months, ")& IF(DATEDIF(B2, TODAY(),"md")=0,"",DATEDIF(B2, TODAY(),"md")&" Days")

如此即可獲得下圖所示結果,所有年齡均以年、月、日顯示,且不包含 0 值:

doc-get-age-from-birthday-6


在 Excel 中計算特定日期的年齡

有時您可能希望計算從出生日期到某個特定日期(而非今天)的年齡,此時只需將第二個參數中的 TODAY() 函數替換為該特定日期即可。例如:

=DATEDIF(birthdate, specific_date, "y")
  • birthdate:生日日期。
  • specific_date:您要據此從出生日期計算年齡的截止日期。
  • y:此函數會傳回從出生日期到目前日期之間的完整年數。

請使用下列公式:

=DATEDIF(B2, C2, "y")

接著,年齡將根據出生日期至特定日期計算完成,如下圖所示:

doc-get-age-from-birthday-7

提示:若要取得精確的年、月、日年齡,請使用下列公式:

=DATEDIF(B2, C2,"Y") & " Years, "& DATEDIF(B2,C2,"YM") & " Months, "&DATEDIF(B2,C2, "MD") & " Days"

doc-get-age-from-birthday-8


根據 1900 之前的出生日期計算年齡

當出生日期早於 1900 年時,上述公式將無法正確運作,因為 Excel 會自動將早於 1900 年的日期儲存為文字格式。為此,我們特別提供一個使用者自訂函數,協助您在出生日期早於 1900 年時精準計算年齡。

1. 按下 Alt + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 接著點選插入> 模組,並將下列 VBA 程式碼複製到模組視窗中。

計算從 1900 之前的出生日期到今天的年齡:

Function AgelnNow(ByVal xDate As Variant)
Dim xIA As Integer
xIA = 0
On Error Resume Next
xIA = DateDiff("yyyy", xDate, Now())
If (Month(Now()) < Month(xDate)) Or (Month(xDate) = Month(Now())) Then
If (Day(Now()) < Day(xDate)) Then
xIA = xIA - 1
End If
End If
If xIA = -1 Then
AgelnNow = "Error"
Else
AgelnNow = xIA
End If
End Function

3. 接著在空白儲存格中輸入下列公式:=AgelnNow(A2)A2 為出生日期所在儲存格)

接著向下拖曳填滿控點至您要取得年齡的儲存格,所有從出生日期到今天的年齡皆已計算完成,如下圖所示:

doc-get-age-from-birthday-9

提示:若您需要根據出生日期至死亡日期(而非目前日期)計算年齡,請套用下列程式碼:

計算從 1900 之前的出生日期到死亡日期的年齡:

Function Age(ByVal StartDate As Variant, ByVal EndDate As Variant)
    Dim xIA As Integer
    xIA = 0
    On Error Resume Next
    xIA = DateDiff("yyyy", StartDate, EndDate)
    If (Month(EndDate) < Month(StartDate)) Or (Month(StartDate) = Month(EndDate)) Then
        If (Day(EndDate) < Day(StartDate)) Then
            xIA = xIA - 1
        End If
    End If
    If xIA = -1 Then
       Age = "Error"
    Else
        Age = xIA
    End If
End Function

並使用下列公式:=Age(A2,B2)A2 為出生日期儲存格,而 B2 為死亡日期儲存格)以取得如下圖所示的結果:

doc-get-age-from-birthday-10


根據出生日期,從目前日期或特定日期計算年齡的實用功能

Kutools for Excel 提供一項便捷工具——日期時間助手功能,讓您無需記憶任何繁瑣公式,即可根據出生日期,輕鬆從目前日期或特定日期計算年齡!立即點擊下載 Kutools for Excel 免費試用!


相關函數:

  • YEARFRAC:
  • 此函數會傳回一個小數值,代表兩個日期之間的年份比例。
  • TODAY()
  • 此函數會傳回當前的日期值。
  • INT()
  • 此函數會傳回數值的整數部分。
  • DATEDIF
  • 此函數可精確計算兩個指定日期之間的完整年數、月數或天數。

相關年齡計算文章:

  • 在 Excel 中根據身分證號碼計算年齡
  • 假設您有一份包含 13 位數字的身分證號碼清單,其中前 6 碼代表出生日期。例如,身分證號碼 9808020181286 即表示出生日期為 1998 年 8 月 2 日。

最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。