可通过四种公式自动计算身份证年龄:一、year+mid+if修正;二、datedif精确算周岁;三、text+datevalue转日期后计算;四、嵌套iferror与len提升容错性。

如果您在Excel中拥有身份证号码,需要根据18位身份证号自动计算出对应的年龄,则可以通过公式提取出生年份并与当前年份相减实现。以下是几种可行的方法:
一、使用YEAR和TODAY函数结合MID函数提取年龄
该方法通过MID函数从身份证号第7位开始截取4位字符获取出生年份,再用YEAR(TODAY())获取当前年份,相减后判断是否已过生日来修正年龄。
1、假设身份证号在A2单元格,选中B2单元格输入以下公式:
=YEAR(TODAY())-MID(A2,7,4)-IF(DATE(YEAR(TODAY()),MID(A2,11,2),MID(A2,13,2))>TODAY(),1,0)
2、按Enter确认公式计算结果。
3、将B2单元格公式向下拖拽填充至其他行,完成整列年龄计算。
二、使用DATEDIF函数精确计算周岁
DATEDIF函数可计算两个日期之间的完整年数,配合DATE函数构造出生日期,能更准确反映实际周岁,避免因月份日期未到而多算一岁。
1、在B2单元格输入以下公式:
=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y")
2、按Enter确认结果。
3、选中B2单元格,双击填充柄或拖拽至所需行数,批量生成年龄值。
三、使用TEXT与DATE组合转换出生日期后计算
先利用TEXT函数将身份证中年月日部分格式化为标准日期字符串,再用DATEVALUE转为可运算的日期序列值,最后用DATEDIF或YEAR差值法求年龄。
1、在B2单元格输入以下公式:
=DATEDIF(DATEVALUE(TEXT(MID(A2,7,8),"0000-00-00")),TODAY(),"y")
2、按Enter执行计算。
3、将公式复制应用至其余数据行。
四、添加错误处理的稳健公式(适用于含空值或非18位身份证的表格)
当原始数据存在空单元格、非18位编码或文本格式异常时,直接套用前述公式可能返回错误值,此方案嵌套IFERROR与LEN判断提升容错性。
1、在B2单元格输入以下公式:
=IFERROR(IF(LEN(A2)=18,DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y"),""),"")
2、按Enter确认无误后显示年龄或空白。
3、向下填充公式覆盖全部待处理记录。










