轻松从身份证号码中提取出生年月日
在学校经常要采集身份证号码和出生年月日,输入了身份证号码,还要一个个输入出生年月日真是麻烦,为了解决这个问题,经过本人探索,我发现利用几个函数组合就能轻松解决这个问题:(1)IF函数 执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务;语法:IF(logical_test,value_if_true,value_if_false)。(2)LEN函数 返回文本串的字符数;语法:LEN(text)。 (3)MID函数 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定;语法:MID(text,start_num, num_chars)。(4)CONCATENATE函数 将若干文字串合并到一个文字串中,其功能与"&"运算符相同; 语法:CONCATENATE(text1,text2,...) ,参数:Text1,text2,... 为1到30个将要合并成单个文本的文本项,这些文本项可以是文字串、数字或对单个单元格的引用。然后把这几个函数组合起来就可以轻松地从身份证号码取出出生年月日,如下图:身份证号码在C2单元格,要提取的出生年月日在E2单元格,那么我们可以在E2 单元格中输入公式“=IF(LEN(C2)=15,CONCATENATE("19",MID(C2,7,2),"年",MID(C2,9,2),"月",MID(C2,11,2),"日"), CONCATENATE (MID(C2,7,4),"年",MID(C2,11,2),"月",MID(C2,13,2),"日"))”。其中“LEN(C2)=15”仍然作为逻辑判断语句使用,它可以判断身份证号码是15 位的还是18 位的,
从而调用相应的计算语句。 对15 位的身份证号码来说,左起第mid函数提取年月日7 至12 个字符表示出生年、月、日,此时可以使用MID 函数从身份证号码的特定位置,分别提取出生年、月、日。然后用CONCATENATE 函数将提取出来的文字合并起来,就能得到对应的出生年月日。公式中“19”是针对早期身份证号码中存在2000 年问题设计的,它可以在计算出来的出生年份前加上“19”。对“18”位的身份证号码的计算思路相同,只是它不存在2000 年问题,公式中不用给计算出来的出生年份前加上“19”。 注意:CONCATENATE 函数和MID 函数的操作对象均为文本,所以存放身份证号码的单元格必须事先设为文本格式,然后再输入身份证号。这样我们就能轻松从身份证号码中提取出生年月日。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论