假设身份证号码在A1中,则截止到“今天”的周岁年龄的公式为:
=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,(LEN(A1)=18)*2+6),"#-00-00"),TODAY(),"Y")
说明:上式对15或18位身份证号码均适用。
如果全是18位身份证号,则公式可简化为:
=DATEDIF(TEXT(MID(A1,7,8),"#-00-00"),TODAY(),"Y")
假设身份证号在C1:
=IF(C1="","",IF(IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4)&"-"&MID(C1,11,2)&"-"&MID(C1,13,2))>"2009-12-31","",TEXT(TODAY()-IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4)&"-"&MID(C1,11,2)&"-"&MID(C1,13,2)),"yy")))
=datedif(text(if(len(a1)=18,mid(a1,7,8),19&mid(a1,7,6)),"0000-00-00"),today(),"y")
假设年龄截止日期为2018年7月31日,身份证号码在A1单元格,则可按以下公式计算:
=INT((TEXT(DATE(2018,7,31),"yyyy-mm-dd")-TEXT(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),"yyyy-mm-dd"))/365)
会有一点误差,因为一年也可以366天,但影响不大!
看中间的数