如何通过Excel从身份证中计算并提取年龄?

2026-05-08 00:131阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计618个文字,预计阅读时间需要3分钟。

如何通过Excel从身份证中计算并提取年龄?

如果需要在Excel中根据身份证号码自动计算年龄,可以采用以下几种方法:

一、使用DATEDIF函数结合MID函数提取年龄

该方法利用MID函数从18位身份证中准确截取第7至第10位的出生年份,并与当前日期对比,通过DATEDIF函数计算整年差值,结果精确到周岁且不四舍五入。

1、在目标单元格中输入公式:=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y"),其中A2为含身份证号码的单元格。

2、按Enter确认,得到A2对应人员的周岁年龄。

3、将公式向下填充至其他身份证数据行,批量生成年龄结果。

二、使用YEAR函数配合DATEVALUE构建出生日期

该方法先用MID提取年月日,再用DATEVALUE将其转换为可计算的日期序列值,最后用YEAR函数获取当前年份减去出生年份,适用于对闰年及未到生日者不做严格周岁判断的场景。

1、在目标单元格中输入公式:=YEAR(TODAY())-MID(A2,7,4)

2、按Enter确认,获得基于年份差的粗略年龄。

3、注意:该方式未校验月份和日期,若当前日期未到生日,结果会比实际周岁大1,需配合条件判断修正。

三、使用TEXT与DATE组合生成标准出生日期后计算

该方法通过TEXT函数将提取的年月日拼接为“yyyy-mm-dd”格式字符串,再由DATEVALUE转为Excel可识别的日期,确保出生日期解析无误,再用DATEDIF求整年差,兼容性高且逻辑清晰。

1、在目标单元格中输入公式:=DATEDIF(DATEVALUE(TEXT(MID(A2,7,8),"0000-00-00")),TODAY(),"y")

2、按Enter确认,公式自动识别身份证第7位起共8位(年4+月2+日2)并构造成合法日期。

3、向下填充公式,适用于全部18位身份证数据,对含X的末位校验码无影响。

四、使用IFS函数处理15位与18位身份证混合情况

当数据中同时存在旧版15位身份证(无年份前缀,出生年为两位)和新版18位身份证时,需先判断长度,再分别提取年份并统一转换为4位年,避免15位身份证被误算为1900年代或2000年代。

1、在目标单元格中输入公式:=DATEDIF(DATE(IF(LEN(A2)=18,MID(A2,7,4),19&MID(A2,7,2)),MID(A2,IF(LEN(A2)=18,11,9),2),MID(A2,IF(LEN(A2)=18,13,11),2)),TODAY(),"y")

2、按Enter确认,公式自动区分身份证位数,15位身份证默认按19XX年处理。

3、确保原始身份证列无空格、不可见字符,否则LEN函数返回异常,导致判断失效。

标签:Excel

本文共计618个文字,预计阅读时间需要3分钟。

如何通过Excel从身份证中计算并提取年龄?

如果需要在Excel中根据身份证号码自动计算年龄,可以采用以下几种方法:

一、使用DATEDIF函数结合MID函数提取年龄

该方法利用MID函数从18位身份证中准确截取第7至第10位的出生年份,并与当前日期对比,通过DATEDIF函数计算整年差值,结果精确到周岁且不四舍五入。

1、在目标单元格中输入公式:=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y"),其中A2为含身份证号码的单元格。

2、按Enter确认,得到A2对应人员的周岁年龄。

3、将公式向下填充至其他身份证数据行,批量生成年龄结果。

二、使用YEAR函数配合DATEVALUE构建出生日期

该方法先用MID提取年月日,再用DATEVALUE将其转换为可计算的日期序列值,最后用YEAR函数获取当前年份减去出生年份,适用于对闰年及未到生日者不做严格周岁判断的场景。

1、在目标单元格中输入公式:=YEAR(TODAY())-MID(A2,7,4)

2、按Enter确认,获得基于年份差的粗略年龄。

3、注意:该方式未校验月份和日期,若当前日期未到生日,结果会比实际周岁大1,需配合条件判断修正。

三、使用TEXT与DATE组合生成标准出生日期后计算

该方法通过TEXT函数将提取的年月日拼接为“yyyy-mm-dd”格式字符串,再由DATEVALUE转为Excel可识别的日期,确保出生日期解析无误,再用DATEDIF求整年差,兼容性高且逻辑清晰。

1、在目标单元格中输入公式:=DATEDIF(DATEVALUE(TEXT(MID(A2,7,8),"0000-00-00")),TODAY(),"y")

2、按Enter确认,公式自动识别身份证第7位起共8位(年4+月2+日2)并构造成合法日期。

3、向下填充公式,适用于全部18位身份证数据,对含X的末位校验码无影响。

四、使用IFS函数处理15位与18位身份证混合情况

当数据中同时存在旧版15位身份证(无年份前缀,出生年为两位)和新版18位身份证时,需先判断长度,再分别提取年份并统一转换为4位年,避免15位身份证被误算为1900年代或2000年代。

1、在目标单元格中输入公式:=DATEDIF(DATE(IF(LEN(A2)=18,MID(A2,7,4),19&MID(A2,7,2)),MID(A2,IF(LEN(A2)=18,11,9),2),MID(A2,IF(LEN(A2)=18,13,11),2)),TODAY(),"y")

2、按Enter确认,公式自动区分身份证位数,15位身份证默认按19XX年处理。

3、确保原始身份证列无空格、不可见字符,否则LEN函数返回异常,导致判断失效。

标签:Excel