excel中判断身份证号码的出生年月日及位数是否正确合法

2024-12-04 07:57:13
推荐回答(3个)
回答1:

设身份证号在a1单元格,在你需要的单元格输入:
=IF(LEN(A1)=18,IF(TEXT(DATE(--MID(A1,7,4),--MID(A1,11,2),--MID(A1,13,2)),"yyyymmdd")=TEXT(--MID(A1,7,4),"0000")&TEXT(--MID(A1,11,2),"00")&TEXT(--MID(A1,13,2),"00"),"格式正确","日期格式错误"),"长度错误")
由于,今年1月1日起,15位的老身份证已经停用。因此,公式中仅判断18位身份证的情况。

回答2:

出生日期:=IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,)

性别:=IF(A2<>"",IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女"),)

年龄:=IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)



三个都有了;你看你要那个,有问题在追加!

回答3:

生日:

=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))


合法性:

=IF(LEN(A2)<>18,"不合法","合法")


见附件。