Excel中可根据身份证号自动计算年龄,常用方法有:一、DATEDIF函数精确计算整年;二、YEAR函数粗略计算;三、兼容15位身份证的补全方案;四、TEXT与DATEVALUE组合转换日期。

如果您在Excel中需要根据身份证号码自动计算人员年龄,则可能是由于身份证号码包含出生日期信息,可通过提取日期并结合当前日期进行计算。以下是实现此功能的多种方法:
一、使用DATEDIF函数提取年龄
该方法通过从18位身份证中截取出生年月日,构造日期值后与当前日期比较,利用DATEDIF函数精确计算整年差值,避免手动减法导致的误差。
1、假设身份证号位于A2单元格,先用MID函数提取出生日期:输入公式 =MID(A2,7,8),得到形如“19950328”的8位字符串。
2、将该字符串转换为标准日期格式:嵌套使用DATE函数,公式为 =DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))。
3、用DATEDIF计算整年年龄:完整公式为 =DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y")。
二、使用YEAR函数配合TODAY计算近似年龄
该方法直接提取身份证中的年份部分,再与当前年份相减,适用于对精度要求不高、仅需粗略年龄的场景,运算速度快且兼容性好。
1、提取身份证第7至10位作为出生年份:公式为 =MID(A2,7,4)。
2、获取当前年份:使用 =YEAR(TODAY())。
3、二者相减得出年龄:完整公式为 =YEAR(TODAY())-MID(A2,7,4)。
三、处理15位身份证号码的兼容方案
15位身份证不含年份前缀“19”,需判断年份区间并补全,否则会导致年龄计算严重偏差;本方法通过逻辑判断自动补足世纪前缀,确保结果准确。
1、判断身份证长度:用LEN函数检测,公式为 =LEN(A2)。
2、对15位号码补全出生年份:若为15位,出生年份为1900+第7、8位,公式片段为 IF(LEN(A2)=15,"19"&MID(A2,7,2),MID(A2,7,4))。
3、整合完整年龄公式:结合DATEDIF,写为 =DATEDIF(DATE(IF(LEN(A2)=15,"19"&MID(A2,7,2),MID(A2,7,4)),MID(A2,IF(LEN(A2)=15,9,11),2),MID(A2,IF(LEN(A2)=15,11,13),2)),TODAY(),"y")。
四、使用TEXT与DATEVALUE组合快速转换
该方法将身份证中截取的8位数字转为文本型日期后再交由DATEVALUE解析,适合对函数嵌套深度敏感或需后续参与其他日期运算的场景。
1、截取并格式化出生日期为“YYYY-MM-DD”样式:公式为 =TEXT(MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2),"yyyy-mm-dd")。
2、用DATEVALUE将其转为可计算的序列号:公式为 =DATEVALUE(TEXT(MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2),"yyyy-mm-dd"))。
3、代入DATEDIF计算年龄:最终公式为 =DATEDIF(DATEVALUE(TEXT(MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2),"yyyy-mm-dd")),TODAY(),"y")。










