Excel中提取身份证年龄需先用MID(A2,7,8)提取18位证号的出生日期,再用DATE函数转为标准日期,最后用DATEDIF(C2,TODAY(),"y")计算周岁;15位证号须补全为18位或单独处理。

Excel中身份证号提取年龄需先定位出生日期字段,再用DATEDIF函数计算周岁,避免直接用YEAR(TODAY())-YEAR()导致虚岁误差。
从18位身份证号中提取出生日期
选中存放身份证号的列(如A2:A100),在B2单元格输入公式:
=MID(A2,7,8)
这一步提取第7位开始的8个字符,对应年月日(如19920815)。注意:15位身份证号不适用此公式,【必须确保身份证号为18位且格式规范】,否则结果错乱无法修正。
按Ctrl+Enter批量填充整列,B列即生成8位数字字符串。
将提取的8位数字转为标准日期格式
在C2单元格输入公式:
=DATE(LEFT(B2,4),MID(B2,5,2),RIGHT(B2,2))
LEFT取前4位作年份,MID取中间2位作月份,RIGHT取后2位作日期。这一步把“19920815”真正变成Excel可识别的日期序列值,后续DATEDIF才能正确运算。
双击填充柄向下复制公式至对应行。
用DATEDIF函数精确计算周岁
方法一:基础写法(推荐)
在D2单元格输入:
=DATEDIF(C2,TODAY(),"y")
方法二:防错误写法(含空值保护)
在D2单元格输入:
=IF(ISDATE(C2),DATEDIF(C2,TODAY(),"y"),"")
方法三:兼容15位与18位身份证的整合公式(一步到位)
在D2单元格输入:
=DATEDIF(DATE(IF(LEN(A2)=18,LEFT(A2,4),CONCATENATE("19",LEFT(A2,2))),IF(LEN(A2)=18,MID(A2,11,2),MID(A2,3,2)),IF(LEN(A2)=18,MID(A2,13,2),MID(A2,5,2))),TODAY(),"y")
这个长公式自动判断身份证长度,15位时默认为19XX年——但【仅适用于1900–1999年出生人群】,2000年后出生的15位身份证已不存在,实际业务中建议先统一补全为18位再处理。


















