1.从身份证号码中提取性别
第一种方法:=IF(MOD(IF(LEN(A2)=15,MID(A2,15,1),MID(A2,17,1)),2)=1,"男","女")
第二种方法:
=IF(LEN(A2)=18,IF(VALUE(MOD(MID(A2,17,1),2))=0,"女","男"),IF(LEN(A2)=15,IF(VALUE(MOD(MID(A2,15,1),2))=0,"女","男"),"身份证长度有误"))
第三种方法:=IF(AND(LEN(A2)<>15,LEN(A2)<>18),"",IF(LEN(A2)=15,(IF(MID(A2,15,1)/2=TRUNC(MID(A2,15,1)/2),"女","男")),(IF(MID(A2,17,1)/2=TRUNC(MID(A2,17,1)/2),"女","男"))))
    2.从身份证判断归属地
=IF(MID(A2,1,2)<="15",CHOOSE(MID(A2,1,2)-10,"北京","天津","河北","山西","内蒙古"),IF(MID(A2,1,2)<="23",CHOOSE(MID(A2,1,2)-20,"辽宁","吉林","黑龙江"),IF(MID(A2,1,2)<="37",CHOOSE(MID(A2,1,2)-30,"上海","江苏","浙江","安徽","福建","江西","山东"),IF(MID(A2,
1,2)<="46",CHOOSE(MID(A2,1,2)-40,"河南","湖北","湖南","广东","广西","海南"),IF(MID(A2,1,2)<="54",CHOOSE(MID(A2,1,2)-49,"重庆","四川","贵州","云南","西藏"),CHOOSE(MID(A2,1,2)-60,"陕西","甘肃","青海","宁夏","新疆"))))))
3.从身份证号码中提取出生日期
第一种方法:=IF(LEN(A2)=15,CONCATENATE("19",MID(A2,7,2),"年",MID(A2,9,2),"月",MID(A2,11,2),"日"),CONCATENATE(MID(A2,7,4),"年",MID(A2,11,2),"月",MID(A2,13,2),"日"))
    第二种方法:
=TEXT(TEXT(MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),"yyyy年m月dd日")
    第三种方法:
=TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#年00月00日")
    第四种方法:  =TEXT(RIGHT(TEXT((0&MID(A1,7,11))-500,"1900-00-00,;!0"),10),"e年mm月dd日;;;错误")
第五种方法:
=IF(A2="","",(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)&"日"),"身份证号输入错误"))))
4.从身份证号码中判断年龄
第一种方法:
=YEAR(TODAY())-YEAR(D2)
第二种方法:
=IF(D2="","",(当前年份)-YEAR(D2))
第三种方法:=IF(D2="","",IF(VALUE(MIDB(D2,7,2))>MONTH(TODAY()),YEAR(TODAY())-LEFT(2,4)-1,YEAR(TODAY())-LEFT(D2,4)))
第四种方法:
=IF(A2="","",(当前年份)-IF(MID(A2,18,1)="",CONCATENATE("19",MID(A2,7,2)),MID(A2,7,4))&"岁")
注:A2为身份证号所在单元格,D2为出生日期所在单元格,身份证号码在单元格A2输入。
5.判断身份证号码出生时间是否正确的函数
A:=IF(ISNUMBER(DATEVALUE(TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1), 8),"#-00-00"))),"正确","不正确")
B:=IF(ISERR(--TEXT(MID(A1,LEN(A1)/2,6),"0-00-00")),"错误","正确")
C:=IF(ISERR(--TEXT(19&MID(A1,LEN(A1)/2,6),"00年00月00日")),"错误","正确")
6.校验身份证号码对错
=IF(A2="","",IF(LEN(A2)=18,MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(A2),IF(LEN(A2)=15,ISNUMBER(--TEXT(19&MID(A2,7,6),"#-00-00")))))
7.身份证号码位数转换
15位转18位
=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUMPRODUCT(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2)
18位转15位
=IF(LEN(A2)=18,LEFT(REPLACE(A2,7,2,),15),A2)
8.防止重复输入身份证号码的方法
选择身份证的所有单元格→单击“数据”,点击“有效性”→“有效条件”选择“自定义”→ 在公式处输入=COUNTIF($A:$A,$A1)=1→在出错警告中输入相关警告信息,按确定。
isnumber函数的使用方法及实例
9.提示输入身份证号码位数不对的方法
选择身份证的所有单元格→单击“格式”,点击“条件格式”→在“条件1”选择“格式”→输入公式=IF(LEN(A1)<>15,LEN(A1)<>18)→选择字体颜和删除线→确定