在这里,我们的思路是,利用已知的身份证号码,采用mid函数来分段提取出年月日,再用&符号连接,并在其间添加连接符“-”,最后将该公式复制粘贴到该列所有单元格即可。
目前身份证号码有两种格式:15位(旧版)和18位(新版),所以我们需要针对不同的位数设置不同的公式,然后利用if函数进行判断,最后输出结果。
按照上述原理,先写出框架:
=if(15位,输出15位生日19******,if(18位,输出18位生日,输出错误提示))
这是个嵌套结构,如果身份证号码位数,既非15位又非18位,则可判断为输入有误。
按照上述框架,编写出如下函数:
1.位数判断:len(A2)=15, len(A2)=18
2.从18位身份证号码中截取生日:MID(A2,7,4)&-MID(A2,11,2)&-MID(A2,13,2)
3.从15位身份证号码中截取生日:这里要注意15位身份证号码的生日格式为491001,我们要在前面添加“19”,成为:19491001,所以结果应该是:
19&MID(A2,7,2)&-MID(A2,9,2)&-MID(A2,11,2)
4.错误提示:"请检查位数!"
最后形成如下公式:
=if(len(A2)=15,19&MID(A2,7,2)&-MID(A2,9,2)&-MID(A2,11,2),if(len(A2)=18,MID(A2,7,4)&-MID(A2,11,2)&-MID(A2,13,2),"请检查位数!"))