上周五写了一篇《get两种excel录入身份证号自动生成出生日期和性别的方法》介绍了一下在excel中录入身份证号自动生成出生日期和性别的方法,没想到受到了小伙伴们的广泛关注。成为我从去年加入简书一来第一篇阅读量突破1000+,点赞超过100+的文章,并且被推荐到首页,被收入到好几个专题。这是我写作几个月来凡响最好的一篇文章,我也备受鼓舞。
所以,我决定今天再写一个姊妹篇。首先是完善一下上次分享MID函数生成出生日期无法变成日期格式的问题。另外,在get一个通过身份证号自动生成年龄的问题。
上一篇文章分享了通过MID函数去出生日期的方法,我在次复述一遍。因为身份证是18位数字,出生日期是身份证中的第7位数字开始,第14位结束,中间有8位数字,所以MID函数公式为:MID(目标单元格,7,8)。通俗表示为,从目标单元格中第7位字符开始,往后取8个字符。即通过MID(目标单元格,7,8)。通俗表示为,从目标单元格中第7位字符开始,往后取8个字符。
但是这样存在一个问题,单元格变不成yyyy-mm-dd的形式,只能按身份证中的形式存在。如下图:
如果不能变成日期格式的话,这个方法还是略显鸡肋不大实用。所以我完善了一下这个函数,使其可以得到yyyy-mm-dd的格式。而这相比于之前讲的通过“数据——分列——固定长度”截取出生日期要简单一些,现在可以郑重宣布这个方法二了!
这个方法也不难。就是在MID函数的基础上套入TEXT函数。那什么是TEXT函数呢?TEXT函数就是将数值转换成文本,也可以针对MID函数截取的不规则字段,使其变成yyyy-mm-dd格式。函数表达式为:TEXT(MID(目标单元格,7,8),"0000-00-00")如下图:
下面我们在来get一个新技能,通过身份证号来计算出年龄,这样我们的知识点就形成体系。记得我上一篇文章有写excel函数编写遵循“从里往外,从大到小”的原则,其实有了上面完善MID函数,通过TEXT函数将提取生成出生日期变成yyyy-mm-dd的日期函数,而计算年龄就是在这两个函数上在套一个函数,所以到这一步也已经不难了,这是一个循序渐进的过程!
万里长城最后一步,下面是见证奇迹的时刻!现在引入这次操作的的终极函数DATEDIF(敲黑板!这个很重要!!!)其实DATEDIF函数是excel隐藏函数,在帮助和插入公式里面没有。 返回两个日期之间的年\月\日间隔数。常使用DATEDIF函数计算两日期之差。所以我们通过这个函数可以通过身份证号计算出年龄。而函数的表达式为:DATEDIF(TEXT(MID(目标单元格,7,8),"0000-00-00"),TODAY(),"y")即,从0000-00-00开始到现在过了多少年(年龄)。如下图:
这下子关于excel关于身份证录入自动生成出生日期、性别和年龄的的方法基本算是总结完了!希望这些方法能帮助到小伙伴们,希望能给小伙伴们提高工作效率,节约工作时间。我也会继续努力,如果以后在工作发现更多、更方便的excel函数我在及时分享给大家。
最后,还有最重要的一点:如果哪里说得不对,请大家多多指正!