跳到主要内容

Excel从出生日期获取或计算年龄

现在,如果您在Excel工作表中有员工的出生日期列表,则要计算每个人的年龄。 在Excel中,有一些有用的功能,例如YEARFRAC或DATEDIF,可以帮助您快速轻松地确定生日的年龄。


使用YEARFRAC函数根据出生日期计算年龄

在Excel中,YEARFRAC函数可以帮助您从给定的出生日期获取年龄,通用语法为:

=YEARFRAC(birthdate, TODAY())
  • birthdate:生日的日期。
  • TODAY():此函数返回今天的日期。

因此,请在空白单元格中使用以下公式:

=YEARFRAC(B2,TODAY())

然后,将填充手柄向下拖动到要应用此公式的单元格上,所有年龄都已计算并显示为单元格中的十进制数字,请参见屏幕截图:

提示:通过使用YEARFRAC函数,计算结果为十进制数,要将年龄数设为整数,应按以下方式组合INT函数:

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

您将获得整数年龄:


使用DATEDIF函数根据出生日期计算年龄

DATEDIF函数还可以将出生日期转换为年龄,通用语法为:

=DATEDIF(birthdate, TODAY(), "y")
  • birthdate:生日的日期。
  • TODAY():此函数返回今天的日期。
  • y:返回从出生日期到当前日期的完整年份数。

现在,请输入以下公式或将其复制到空白单元格中:

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

并且所有年龄都是根据出生日期计算的,请参见屏幕截图:


根据出生日期(以年,月和日为单位)计算年龄

如果要获取人员的确切年龄,例如从出生日期到当前日期的年数,月数和天数。 您应将DATEIF函数连接为一个公式,如下所示:

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

然后,您将获得如下所示的屏幕截图的结果:

提示:如果在应用上述公式时要忽略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值:


在Excel中计算特定日期的年龄

有时,您想获取从出生日期到特定日期而不是当前日期的年龄,在这种情况下,您只需要在第二个参数中使用特定日期更改TODAY()函数。 如:

=DATEDIF(birthdate, specific_date, "y")
  • birthdate:生日的日期。
  • specific_date:要从出生日期算起年龄的结束日期。
  • y:返回从出生日期到当前日期的完整年份数。

请使用以下公式:

=DATEDIF(B2, C2, "y")

然后,从出生日期到特定日期计算了年龄,如以下屏幕截图所示:

提示:要获取确切的年龄,月份和天数,请使用以下公式:

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


根据1900年之前的日期出生来计算年龄

当出生日期在1900年之前时,上述公式无法正常工作,因为在输入1900年之前的日期时,它将自动以文本格式存储在Excel中。 因此,如果出生日期早于1900,这是一个用户定义函数可以帮助您获取年龄。

1。 按 Alt + F11键 键打开 Microsoft Visual Basic应用程序 窗口。

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 是出生日期单元格)

然后将填充手柄向下拖动到要获取年龄的单元格,已经计算了从出生日期到今天的所有年龄,请参见屏幕截图:

Tips::如果您需要获取从出生日期到死亡日期的年龄而不是当前日期,请使用以下代码:

计算从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

并使用以下公式: =年龄(A2,B2) (A2 是出生日期单元格,并且 B2 是死亡日期单元格)以获取结果,如下图所示:


具有当前功能或特定日期的日期计算功能可计算年龄

Kutools for Excel 支持方便的工具- 日期和时间助手 此功能可帮助您根据需要从当前日期或特定日期计算出生日期,而无需考虑任何麻烦的公式。 点击下载Kutools for Excel免费试用!


使用的相对功能:

  • YEARFRAC:
  • 它返回一个十进制值,表示两个日期之间的小数年。
  • 今天()
  • 它给出了当前日期值。
  • INT()
  • 它返回值的整数部分。
  • 达蒂夫
  • 此函数返回两个给定日期之间的年,月或天数。

相对年龄计算文章:

  • 从Excel中的ID号计算年龄
  • 假设您有一个ID号码列表,其中包含13位数字,而前6个数字是出生日期。 例如,ID号9808020181286表示生日是1998/08/02。

最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项  |  删除空白行  |  合并列或单元格而不丢失数据  |  不使用公式进行四舍五入 ...
超级VLookup: 多重标准  |  多重价值  |  跨多页  |  模糊查询...
副词。 下拉列表: 简易下拉列表  |  依赖下拉列表  |  多选下拉列表...
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  将列与 选择相同和不同的单元格 ...
特色功能: 网格焦点  |  设计图  |  大方程式酒吧  |  工作簿和工作表管理器 | 资源库 (自动文本)  |  日期选择器  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符 ...)  |  50+ 图表 类型 (甘特图 ...)  |  40+ 实用 公式 (根据生日计算年龄 ...)  |  19 插入 工具 (插入二维码, 从路径插入图片 ...)  |  12 转化 工具 (小写金额转大写, 货币兑换 ...)  |  7 合并与拆分 工具 (高级组合行, 拆分 Excel 单元格 ...)  |  ... 和更多

Kutools for Excel 拥有超过 300 个功能, 确保只需点击一下即可获得您所需要的...

产品描述


Office 选项卡 - 在 Microsoft Office(包括 Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations