从身份证号码计算年龄

原创作者 | 李锐

微信公众号 | Excel函数与公式(ID:ExcelLiRui)

个人微信号 | (ID:ExcelLiRui520)

从身份证号码计算年龄

工作中很多地方都需要用到年龄信息,比如根据年龄计算工龄,根据年龄计算工龄工资、人资HR在做员工年龄结构占比分析时等等,都需要用到年龄。

由于年龄是随着时间增长的,所以不同时期的员工年龄是在不断变化的,比起每次用到年龄时现从员工收集整理,不如一次性收集齐全员工的身份证号码,然后使用Excel公式从中提取,这样可以一劳永逸的保持结果自动更新。

只要你能找到规律,构建思路,确定方法,这些都不是难事。

今天要讲的就是从身份证号码中计算年龄的技术,看完觉得好的,记得去底部点个好看再分享给朋友,我会根据大家的反馈调整发文内容及写法。

案例描述

这个案例A列是员工姓名,B列是身份证号码,要求C列使用公式计算员工年龄。

黄色区域为公式返回结果所在区域,如下图所示。

(下图为案例示意图)

要求按照B列的身份证号码计算年龄,结果随着当前时间自动更新。

在看下面的解决方案之前,请你先独立思考,带着思路和问题继续向下看。

思路构建

思路提示:首先要了解身份证号码中的年龄信息位于哪里,然后从中提取出生日期,再将员工的出生日期和当前日期进行年份间隔的计算。

此案例的关键点一:身份证号码中哪一部分包含年龄信息。18位身份证号码中从第7位开始后面的8位数字依次代表出生年月日信息。

既然明确了年龄信息所在位置,我们就可以借助文本函数从中截取出生日期;

至于关键点二,要进行日期间隔的计算,可以借助隐藏日期函数DATEDIF第三参数写"y"。

思路构建完毕,可以在Excel中落地实现。

解决方案

思路提示:MID函数截取出来的8位字符串可以借助TEXT函数转为日期形式。

C2单元格输入如下公式,将公式向下向右填充:

=DATEDIF(--TEXT(MID(B2,7,8),"0-00-00"),TODAY(),"y")

如下图所示。

(下图为公式示意图)

一句话解析:

使用MID和TEXT函数从身份证号码中截取出生年月日,再使用--减负运算将其由文本转为数值格式,再传递给DATEDIF函数作为其第一参数;第二参数使用TODAY函数返回当前日期,最后使用DATEDIF函数实现从出生日期到当前日期的年份间隔数计算,即员工年龄。

DATEDIF(起始日期,截止止日期,"y")代表计算从起始日期到截止日期之间的年份间隔数(按满整年计算,不足整年不算入)

Excel函数公式方面的各种技术,我已经花18个月的时间整理到Excel特训营中超清视频讲解,并提供配套的课件方便同学们操作和练习。

(0)

相关推荐