Note: The other languages of the website are Google-translated. Back to English

如何在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


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (1)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
不要工作excel說“名詞Ambiguo”
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護