跳到主要內容

如何在Excel中計算1年1月1900日之前的年齡?

在Excel中,不能正確輸入和計算1/1/1900之前的日期。 如果要計算1年1月1900日之前出生和死亡的人的年齡,通常在Excel中將無法獲得正確的計算結果。 但是在本文的此處,一個技巧可以幫助您計算Excel中1/1/1900之前的年齡。

使用VBA計算1年1月1900日之前的年齡

使用Kutools for Excel通過生日計算年齡 好主意3


箭頭藍色右氣泡 使用VBA計算1年1月1900日之前的年齡

這是一個VBA代碼,可以幫助您快速計算1年1月1900日之前的年齡。

1.選擇一個空白單元格並輸入此人的生日,然後選擇另一個單元格以輸入今天的日期,或根據需要輸入該人的死亡日期。 看截圖:
doc計算1900年之前的年齡1

2.然後按 Alt + F11鍵 啟用鍵 Microsoft Visual Basic for Applications 窗口。

3。 點擊 插入 > 模塊,將以下VBA粘貼到新 模塊 窗口。

VBA:計算1年1月1900日之前的年齡

Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
    Dim xSMonth As Integer
    Dim xSDay As Integer
    Dim xSYear As Integer
    Dim xEMonth As Integer
    Dim xEDay As Integer
    Dim xEYear As Integer
    Dim xAge As Integer
    If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
        AgeFunc = "Invalid Date"
        Exit Function
    End If
    xAge = xEYear - xSYear
    If xSMonth > xEMonth Then
        xAge = xAge - 1
    ElseIf xSMonth = xEMonth Then
        If xSDay > xEDay Then xAge = xAge - 1
    End If
    If xAge < 0 Then
        AgeFunc = "Invalid Date"
    Else
        AgeFunc = xAge
    End If
End Function

Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
    Dim I As Long
    Dim K As Long
    Y = 0
    M = 0
    D = 0
    GetDate = True
    On Error Resume Next
    I = InStr(1, DateStr, "/")
    M = CLng(Left(DateStr, I - 1))
    D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
    Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
    If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
        GetDate = False
    End If
End Function

4.選擇一個空白單元格,這裡是C2,然後輸入此公式 = AgeFunc(A2,B2) (A2是生日,B2是結束日期),然後按 Enter 鍵以獲取年齡,然後將自動填充手柄拖到所需的單元格上方。 看截圖:
doc計算1900年之前的年齡2

注意: 此VBA僅可以使用mm / dd / yyyy格式(例如6/23/1845)來計算帶有日期的年齡。


箭頭藍色右氣泡 使用Kutools for Excel通過生日計算年齡

如果生日通常在1年1月1900日之後,您可以申請 Excel的Kutools日期和時間助手 實用程序,可以根據給定的生日快速計算出年齡。

Excel的Kutools, 與以上 300 方便的功能,使您的工作更加輕鬆。 

免費安裝 Kutools for Excel,請執行以下操作:

1.選擇要輸出年齡的空白單元格,然後單擊 庫工具 > 公式助手 > 日期和時間助手。 看截圖:
doc計算1900年之前的年齡3

2.然後在 日期和時間助手 對話框中,選中“年齡”選項,然後根據您的年齡選擇要計算年齡的生日 日期 出生時間 文本框,默認情況下,該單元格將被選擇為絕對引用,您可以將其更改為relatiev引用,然後檢查 今天 選項,然後選擇要顯示在以下列表中的一種結果類型 輸出結果類型。 看截圖:
doc計算1900年之前的年齡4

3。 點擊 Ok 應用此公式,現在您可以看到已經顯示了年齡。 並且,如果需要,可以將自動填充手柄拖動到該公式所需的單元格上。 看截圖:
doc計算1900年之前的年齡5

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
don't work excel say "nombre Ambiguo"
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations