excel中批量计算身份证对应年龄有四种方法:一、用year与mid粗略计算;二、用datedif与text组合精确算周岁;三、单公式一步到位并兼容15/18位证;四、利用新版excel“提取身份证生日”快捷功能。

如果您在Excel中拥有包含身份证号码的数据列,但需要快速批量生成对应人员的准确年龄,则需依据身份证号中嵌入的出生年月信息进行计算。以下是实现该目标的具体操作步骤:
一、使用YEAR与MID函数粗略计算年龄
该方法基于身份证第7至10位(18位证)或第7至8位(15位证)提取出生年份,再用当前年份减去出生年份,适用于对精度要求不高的场景。公式兼容15位和18位身份证号,自动识别并补全19前缀。
1、选中用于显示年龄的第一个单元格(如D2);
2、输入公式:=YEAR(TODAY())-IF(LEN(C2)=15,"19"&MID(C2,7,2),MID(C2,7,4));
3、按Enter确认,该单元格即显示C2身份证号对应人员的粗略年龄;
4、将鼠标移至D2单元格右下角,待光标变为实心“+”后双击,自动向下填充至整列。
二、使用DATEDIF与TEXT组合精确计算周岁
该方法先从身份证号中提取完整出生日期(格式化为YYYY-MM-DD),再通过DATEDIF函数计算与今日之间的整年差值,结果严格符合法律定义的“周岁”,可规避因生日未到而多计一岁的误差。
1、在辅助列(如E2)中提取出生日期,输入公式:=TEXT(MID(C2,7,8),"0000-00-00")*1;
2、确保E2单元格格式为“日期”(若显示为文本,右键→设置单元格格式→日期→选择任意日期类型);
3、在年龄列(如F2)输入公式:=DATEDIF(E2,TODAY(),"Y");
4、按Enter确认后,双击F2单元格右下角完成整列填充。
三、单公式一步到位提取并计算精确年龄
此方案省去辅助列,在一个单元格内完成出生日期解析与年龄计算,适用于列空间受限或追求简洁公式的场景。公式直接调用TEXT将身份证子串转为可识别日期,再嵌套DATEDIF运算。
1、选中年龄输出单元格(如G2);
2、输入公式:=DATEDIF(TEXT(MID(C2,7,8),"0000-00-00")*1,TODAY(),"Y");
3、按Enter确认,若C2为15位身份证号,该公式将因MID(C2,7,8)截取错误导致#VALUE!错误,此时需改用条件判断版本;
4、为兼容15/18位证,替换为:=DATEDIF(TEXT(IF(LEN(C2)=15,"19"&MID(C2,7,6),MID(C2,7,8)),"0000-00-00")*1,TODAY(),"Y")。
四、利用Excel内置“提取身份证生日”快捷功能
部分新版Excel(含Microsoft 365及WPS最新版)提供可视化函数插入入口,无需手动记忆公式结构,适合不熟悉函数语法的用户快速启用标准逻辑。
1、点击目标年龄单元格,再点击编辑栏左侧的fx 图标;
2、在函数搜索框中输入“提取身份证生日”,选择对应函数(如“身份证提取出生日期”);
3、按提示指定身份证号所在单元格,确认后生成出生日期;
4、在相邻单元格使用=DATEDIF(上一步结果单元格,TODAY(),"Y")得出年龄。











