身份证中如何提取生日(身份证如何提取生日时间)
关于提取身份证这些相关信息,我之前的教程都有介绍,有朋友说分开麻烦了,能否制作一个一起的教程,这里满足大家都需要,特制作这个教程。
教程开始以前,先了解几个函数:
iferror函数:使用iferror函数可以在公式计算结果出现错误时,返回我们指定的结果。如果计算是正确时,将返回公式的结果。我们来看看数据:
没有身份证号时,没有用iferror函数处理前:
没有身份证号时,用iferror函数处理之后:
Step1:根据身份证号,提取出生年、月、日。
格式一:比如19900101格式的,公式=MID(C2,7,8),如下图:
格式二:比如1990-01-01格式的,公式=TEXT(MID(C2,7,8),"0-00-00"),如下图:
格式三:比如1990年01月01日格式的,公式=MID(C2,7,4)&"年"&MID(C2,11,2)&"月"&MID(C2,13,2)&"日",如下图:
这里用到这种格式,为了身份证为空时单元格内容不显示#VALUE!,在D列,公式变化为
Step2:根据身份证号,提取性别,公式=IFERROR(IF(MID(C2,17,1)/2=TRUNC(MID(C2,17,1)/2),"女","男"),"")
Step3:根据身份证号,提取年龄,公式=IFERROR(DATEDIF(TEXT(MID(C2,7,8),"#-00-00"),TODAY(),"Y"),"")
Step4:根据身份证号,提取生肖,公式=IFERROR(MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(YEAR(D2)-4,12)+1,1),"")
Step5:根据身份证号,提取星座,公式=IFERROR(LOOKUP(--TEXT(D2,"mdd"),{101,"摩羯座";120,"水瓶座";219,"双鱼座";321,"白羊座";420,"金牛座";521,"双子座";621,"巨蟹座";723,"狮子座";823,"处女座";923,"天秤座";1023,"天蝎座";1122,"射手座";1222,"摩羯座"}),"")
Step6:根据身份证号,提取第一次申请身份证时户籍所在地,公式=IFERROR(VLOOKUP(LEFT(C2,6), 户籍所在地参照表!A:B,2,1),"")
公式和之前的教程有点区别,加入了iferror函数处理空值的情况,核心公式没有变化,因不是系统,没加IF判断,怕导致公式太长,学习起来不方便,所以没有检测身份证是否18位(15位的好像都升到18位了),这里可以稍微改动一下,加IF判断身份证是否18位再提取相关信息,比如提取性别,先判断身份证是否正确(18位),原公式=IFERROR(IF(MID(C2,17,1)/2=TRUNC(MID(C2,17,1)/2),"女","男"),"");
加入IF函数,公式=IF(LEN(C2)=18,IF(MID(C2,17,1)/2=TRUNC(MID(C2,17,1)/2),"女","男"),""),意思就是如果C2单元格内容的长度为18,就计算是男或女,否则输出空
再比如,生肖,先判断身份证,公式为
=IF(LEN(C2)=18,MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(YEAR(D2)-4,12)+1,1),"")
IFERROR判断身份证为空时,其它单元格输出为空;IF判断只要身份证不是18位,其它的单元格就为空。
公式千变万化,还可以互相嵌套,看你怎么用,还有你需要怎么做,想实现什么样的功能,都可以变化,举一反三。如果喜欢,就给一个关注。
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!