假定Excel的A1为身份证号:
15/18位判断:
=IF(OR(LEN(A1)=15,LEN(A1)=18),"","号码位数有误")
性别判断:=IF(OR(LEN(A1)=15,LEN(A1)=18),IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"男","女"),IF(MOD(MID(A1,17,1),2)=1,"男","女")),"号码位数有误")
出生年月日提取:
=IF(OR(LEN(A1)=15,LEN(A1)=18),IF(LEN(A1)=15,DATE("19"&MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))),"号码位数有误")
简单说明:len()
求字符串长度,15/18位;mod()
求除以2的余数,1为奇数,性别为男;date()
写入日期。
请将A1
单元格格式设置为文本;出生年月日单元格格式设置为日期。
本处公式只对身份证形式上做简单判定,不辨真伪。如录入身份证号的日期有误,显示的出生日期将可能异于身份证号第七位开始的出生年月日。