我之前根据身份证校验码的国标堆的身份证校验函数,你看看能不能用,单元格自己改一下咯:=IFERROR(TEXTJOIN("/",TRUE,IF(VALUE(LEN(D206))<>18,"长度有误",""),IF(VALUE(DAY(EOMONTH(DATE(MID(D206,7,4),MID(D206,11,2),1),0))-MID(D206,13,2))<0,"日期/月份有误",""),IF(OR(--YEAR(TODAY())-MID(D206,7,4)<18,--YEAR(TODAY())-MID(D206,7,4)>100),"年份",""),IF(MID("10X98765432",MOD(SUMPRODUCT(MID(D206,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(D206,1),"","校验码有误,请检查身份证")),"")

,主要验证有年份,日期 ,末尾校验码是否匹配,年纪(是否成年),至于超龄这个我没加