假如:A1输入身份证号码、B1显示性别、C1显示出生日期、D1显示周岁。
需要设置:A1单元格为文本格式、B1和D1为常规格式、C1为日期格式。
1、显示性别:
B1输入公式:
=IF(A1="","",IF(AND(LEN(A1)<>15,LEN(A1)<>18),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",IF(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2)=0,"女","男")))))
2、显示出生日期:
C1输入公式:
=IF(LEN(A3)=15,CONCATENATE("19",MID(A3,7,2)&"-"&MID(A3,9,2)&"-"&MID(A3,11,2)),IF(LEN(A3)=18,CONCATENATE(MID(A3,7,4)&"-"&MID(A3,11,2)&"-"&MID(A3,13,2))," 身份证错"))
3、显示周岁:
D1输入公式:
=IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y")))
满足你的要求了。
温馨提示:答案为网友推荐,仅供参考