excel中根据身份证号码提取年龄可使用多种函数公式实现,这里给您总结了十一种方法可助力你轻松搞定。
1、YEARFRAC函数可计算两个日期之间的天数占全年天数的比例,使用该函数可实现身份证号提取年龄。公式为“=INT(YEARFRAC(TEXT(MID(A3,7,8),"00-00-00"),TODAY(),1)*1)”。
2、DATEDIF函数可计算出生日期与当前日期之间的年份差,即年龄。公式为:“=DATEDIF(TEXT(MID(A4,7,8),"00-00-00"),TODAY(),"y")”。
3、使用IF函数嵌套多个函数,可实现身份证号码提取年龄。公式为:“=IF((TODAY()-DATE(YEAR(TODAY()),MID(A5,11,2),MID(A5,13,2)))<0,(YEAR(TODAY())-MID(A5,7,4)-1),YEAR(TODAY())-MID(A5,7,4))”。
4、使用YEAR和TODAY函数结合的方式提取年龄,公式为:“=YEAR(TODAY())-MID(A6,7,4)”。
5、通过求的两个日期间的天数,然后在除以365,并取整即可求得年龄了。公式为:“=INT((TODAY()-TEXT(MID(A7,7,8),"00-00-00"))/365)”。
6、使用YEARFRAC函数计算两个日期之间的年数差,得到年龄。公式为:“=INT(YEARFRAC(DATE(MID(A8,7,4),MID(A8,11,2),MID(A8,13,2)),TODAY(),1))”。
7、使用VBA代码可以创建一个提取身份证号年龄的自定义函数,然后用该自定义函数即可提取身份证号年龄了。
先在VBE窗口新建一个模块,然后在模块下输入如下VBA代码:
Function 提取年龄(age As String) As Integer
Dim BirthDate As Date
BirthDate = DateSerial(Mid(age, 7, 4), Mid(age, 11, 2), Mid(age, 13, 2))
提取年龄 = Year(Date) - Year(BirthDate)
End Function
然后使用自定义函数公式:“=提取年龄(A9)”即可成功提取身份证号年龄了。
8、使用DAYS360函数计算两个日期之间的天数差,再除以360,即可得到年龄。公式为:“=INT(DAYS360(TEXT(MID(A10,7,8),"0000-00-00"),TODAY())/360)”。
9、通过YEAR、TODAY以及IF函数结合也可实现身份证号年龄的提取,公式为:“=IF(MONTH(DATE(MID(A11,7,4),MID(A11,11,2),MID(A11,13,2)))<=MONTH(TODAY()),YEAR(TODAY())-MID(A11,7,4),YEAR(TODAY())-MID(A11,7,4)-1)”。
10、利用DATEDIF和TEXT函数结合。公式为:“=DATEDIF(TEXT(MID(A12,7,8),"0-00-00"),TODAY(),"y")”。
11、使用DATEDIF、DATE及MID函数的组合,可实现身份证年龄的提取,公式为:“=DATEDIF(DATE(MID(A13,7,4),MID(A13,11,2),MID(A13,13,2)),TODAY(),"M")/12”。