從出生日期計算年齡
如果在Excel工作表中有一份員工出生日期的清單,現在您想為他們每個人計算年齡。在Excel中,有一些有用的函數,例如YEARFRAC或DATEDIF,可以幫助您快速輕鬆地從生日計算出年齡。
- 使用YEARFRAC函數根據出生日期計算年齡
- 使用DATEDIF函數根據出生日期計算年齡
- 根據出生日期以年、月和日計算年齡
- 在Excel中特定日期計算年齡
- 根據1900年之前的出生日期計算年齡
- 根據當前或特定日期的出生日期計算年齡,具有驚人功能
使用YEARFRAC函數根據出生日期計算年齡
在Excel中,YEARFRAC函數可以幫助您從給定的出生日期獲取年齡,通用語法是:
- 出生日期: 生日的日期。
- TODAY(): 此函數返回今天的日期。
因此,請在空白單元格中使用以下公式:
然後,將填充手柄向下拖動到您要應用此公式的單元格,所有年齡都已計算並以小數形式顯示在單元格中,請參見截圖:
提示:使用YEARFRAC函數計算的結果是小數,若要使年齡數字為整數,您應該結合INT函數如下:
然後,您將獲得整數形式的年齡:
使用DATEDIF函數根據出生日期計算年齡
DATEDIF函數也可以將出生日期轉換為年齡,通用語法是:
- 出生日期: 生日的日期。
- TODAY(): 此函數返回今天的日期。
- y: 它返回從出生日期到當前日期的完整年數。
現在,請在空白單元格中輸入或複製以下公式:
然後,所有年齡都已基於出生日期計算,請參見截圖:
根據出生日期以年、月和日計算年齡
如果您想獲取人的確切年齡,例如從他們的出生日期到當前日期有多少年、月和日。您應該將DATEIF函數連接成一個單一公式,如下所示:
然後,您將得到如以下截圖所示的結果:
提示:如果您想在應用上述公式時忽略0年、月或日,您可以結合IF函數來測試0。請使用此公式:
然後,您將得到如下截圖所示的結果,所有年齡均以年、月和日顯示,沒有0值:
在Excel中特定日期計算年齡
有時候,您希望從出生日期到特定日期而不是當前日期獲取年齡,在這種情況下,您只需將第二個參數中的TODAY()函數更改為特定日期即可。例如:
- 出生日期: 生日的日期。
- 特定日期: 您希望從出生日期計算年齡的結束日期。
- y: 它返回從出生日期到當前日期的完整年數。
請使用以下公式:
然後,年齡已經從出生日期計算到特定日期,如下截圖所示:
提示:若要獲取年齡的確切年、月和日,請使用以下公式:
根據1900年之前的出生日期計算年齡
當出生日期在1900年之前時,上述公式無法正確工作,因為當輸入1900年之前的日期時,它會自動以文本格式存儲在Excel中。因此,這裡有一個用戶自定義函數可以幫助您在出生日期早於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是出生日期單元格)
然後將填充手柄向下拖動到您想要獲取年齡的單元格,所有從出生日期到今天的年齡都已計算,請參見截圖:
提示:如果您需要從出生日期到死亡日期而不是當前日期獲取年齡,請應用以下代碼:
從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是死亡日期單元格)以獲取如下截圖所示的結果:
根據當前或特定日期的出生日期計算年齡,具有驚人功能
Kutools for Excel 支持一個方便的工具 - 日期和時間助手功能,該功能可以幫助您根據當前日期或特定日期的出生日期計算年齡,而無需記住任何痛苦的公式。 點擊免費試用 Kutools for Excel!
相關函數:
- YEARFRAC:
- 它返回表示兩個日期之間分數年的小數值。
- TODAY()
- 它提供當前日期值。
- INT()
- 它返回值的整數部分。
- DATEDIF
- 此函數返回兩個給定日期之間的年數、月數或天數。
相關年齡計算文章:
- 在Excel中快速將出生日期轉換為年齡
- 例如,您在Excel中獲取了一系列不同的出生日期數據,並且需要將出生日期轉換為其確切的年齡值,您會如何解決?
- 在Google表格中從出生日期計算年齡
- 您是否曾經嘗試過在Google表格中從出生日期計算年齡?本文將介紹一些公式,幫助您快速輕鬆地解決這個問題。
- 在Excel中從身份證號碼計算年齡
- 假設,您有一份包含13位數字的身份證號碼列表,前6位數字是出生日期。例如,身份證號碼9808020181286表示出生日期是1998/08/02。
- 根據出生日期以年、月和日計算年齡
- 如果有給定的出生日期列,您能否根據給定的出生日期快速計算每個年齡,以年、月和日或小數形式顯示,如下截圖所示?
- 在Excel中特定或未來日期計算年齡
- 例如,您有一個人的出生日期,如果您需要根據未來或特定日期計算這個人的年齡,以下方法將逐步詳細幫助您。
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。