要通过身份证号计算当前年龄,需要从身份证号码中提出生年月,转换成日期形式,然后用当前日期减去出生日期,得到年龄。按照这个思路,下面这个公式可以做到提取出生日期,计算年龄,并且判断出来身份证号位数是否有错误。
=IFS(LEN(A3)=18,DATEDIF(TEXT(MID(A3,7,8),"0-00-00"),TODAY(),"y"),TRUE,"身份证错误")
在这个公式中,IFS函数用来判断身份证号码位数是否有错误,如果错误就显示“身份证错误”,如果身份证号位数正确,则提取出生日期进行计算年龄。LEN函数用来计算所输入的身份证号字符长度。
IFS函数语法:=IFS(条件1,真值1,条件2,真值2,……)
在这个公式中,条件1是LEN(A3)=18,真值1是DATEDIF(TEXT(MID(A3,7,8),"0-00-00"),TODAY(),"y");条件2是TRUE,真值2是"身份证错误"。
DATEDIF用来计算年龄。
DATEDIF函数语法 : =DATEDIF(开始日期,终止日期 ,"比较单位")
在这个公式中,开始日期是TEXT(MID(A3,7,8),"0-00-00");终止日期是TODAY(),也就是当前日期。
TEXT函数用来计算出生日期与当前日期相差的年数,即年龄。
TEXT函数语法 : TEXT(数值,"数值格式")
在这个公式中,数值是MID(A3,7,8);数值格式是"0-00-00",表示日期格式是形如1982-06-22的格式。
MID函数用来从身份证号中提出生年月,并将提取出来的值19820622转换成日期形式1982-06-22。
MID函数语法 :MID(字符串,开始位置,字符个数)
在这个公式中,字符串是身份证号所在单元格A3;开始位置是第7个字符;字符个数是8个。因为身份证号中出生年月日是从第7个字符开始的,长度为8个字符