Excel中可批量计算身份证年龄:一、YEAR+MID粗略年份差;二、DATEDIF结合TEXT提取出生日期算周岁;三、嵌套公式免辅助列;四、IF判断15/18位并补全年份确保跨世纪准确。

如果您在Excel中拥有员工身份证号码,但需要快速批量计算其年龄,则可利用身份证号中嵌入的出生年份信息进行推算。以下是多种可行的计算方法:
一、使用YEAR与MID函数组合(粗略年份差)
该方法通过提取身份证第7至10位的出生年份,再与当前系统年份相减得出年龄,适用于对精度要求不高的场景。公式简洁、兼容性强,支持15位与18位身份证号的统一处理。
1、确认身份证号位于A2单元格(如实际位置不同,请替换公式中对应单元格引用)。
2、在目标年龄单元格(如B2)中输入公式:=YEAR(NOW())-IF(LEN(A2)=15,"19"&MID(A2,7,2),MID(A2,7,4))。
3、按Enter键确认,结果即显示为基于当前年份的粗略年龄。
4、选中B2单元格,双击右下角填充柄,自动向下填充至所有对应行。
二、使用DATEDIF函数精确计算周岁
该方法先将身份证号中第7至14位转换为标准日期格式,再用DATEDIF函数计算与当前日期之间的整年差,能准确反映是否已过生日,结果为真实周岁。
1、在辅助列(如C2)中输入公式提取并格式化出生日期:=TEXT(MID(A2,7,8),"0000-00-00")。
2、确认C2返回值为合法日期文本(如“1992-05-18”),若显示为#VALUE!,请检查A2内容是否为纯数字且长度为15或18。
3、在年龄列(如D2)中输入公式:=DATEDIF(C2,TODAY(),"y")。
4、按Enter键后,D2显示精确周岁;选中D2,双击填充柄完成整列计算。
三、一步嵌套公式免设辅助列
为节省列空间并提升操作效率,可将出生日期提取与格式化直接嵌套进DATEDIF函数中,避免额外列占用,适合数据结构紧凑的表格。
1、在年龄计算单元格(如E2)中输入完整嵌套公式:=DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"y")。
2、确保A2中为有效身份证号(15位或18位纯数字),否则TEXT函数将无法正确解析日期。
3、按Enter键验证单个结果;若无错误提示,选中E2并双击填充柄批量应用。
四、兼容15位旧版身份证的增强处理
部分历史数据仍含15位身份证号,其出生年份仅两位(如“92”),需自动补全为“1992”以避免跨世纪误判(如将“99”误作2099年)。此方法显式判断长度并分别处理。
1、在年龄单元格中输入条件判断公式:=DATEDIF(TEXT(IF(LEN(A2)=15,"19"&MID(A2,7,6),MID(A2,7,8)),"0000-00-00"),TODAY(),"y")。
2、该公式中IF函数先识别A2长度:若为15,拼接“19”+第7–12位共6字符(含月日);若为18,直接取第7–14位共8字符。
3、TEXT函数统一转为“YYYY-MM-DD”格式,DATEDIF据此计算准确周岁。
4、输入后按Enter,确认首行结果无误,再执行整列填充。







