Excel从出生日期获取或计算年龄 | 您所在的位置:网站首页 › excell怎么计算年龄 › Excel从出生日期获取或计算年龄 |
Excel从出生日期获取或计算年龄
现在,如果您在Excel工作表中有员工的出生日期列表,则要计算每个人的年龄。 在Excel中,有一些有用的功能,例如YEARFRAC或DATEDIF,可以帮助您快速轻松地确定生日的年龄。 在Excel中,YEARFRAC函数可以帮助您从给定的出生日期获取年龄,通用语法为: =YEARFRAC(birthdate, TODAY()) birthdate:生日的日期。 TODAY():此函数返回今天的日期。因此,请在空白单元格中使用以下公式: =YEARFRAC(B2,TODAY())然后,将填充手柄向下拖动到要应用此公式的单元格上,所有年龄都已计算并显示为单元格中的十进制数字,请参见屏幕截图: 提示:通过使用YEARFRAC函数,计算结果为十进制数,要将年龄数设为整数,应按以下方式组合INT函数: =INT(YEARFRAC(B2,TODAY()))您将获得整数年龄: 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值: 有时,您想获取从出生日期到特定日期而不是当前日期的年龄,在这种情况下,您只需要在第二个参数中使用特定日期更改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年之前的日期时,它将自动以文本格式存储在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 Function3。 然后在空白单元格中输入以下公式: = 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免费试用! Kutools for Excel 拥有超过 300 个功能, 确保只需点击一下即可获得您所需要的... ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |