Excel如何通过身份证号码计算年龄?

浅丽同学_9568

浅丽同学_9568

2026-08-06

1003人浏览

原创

在 excel 里用身份证号算年龄很简单:从第 7 位开始截 8 位出生日期,套上 datedif 和 today 函数就能算出准确实岁。本次操作环境是 microsoft excel,版本为 microsoft 365,最省事的公式直接放这:=datedif(text(mid(a2,7,8),"0000-00-00"),today(),"y")。

第一步:整理身份证号列

先把所有身份证号统一放到同一列,示例里 A 列放身份证号码,B 列留着返回出生日期或者年龄结果。身份证号最好按文本格式保存,尤其是末尾带 X、号码前面可能补 0 的情况;要是单元格左上角飘着绿色小三角,说明 Excel 已经自动把它识别成文本处理了,没问题。

Excel表格中身份证号码列和出生日期列用于计算年龄

第二步:提取出生日期

点 B2 单元格输入 =TEXT(MID(A2,7,8),"0000-00-00")。MID(A2,7,8) 从身份证号第 7 位开始取 8 个字符,刚好就是出生年月日;外层的 TEXT 函数把 19970319 这类数字串转成 1997-03-19 的标准日期格式,后面计算年龄时更直观,不容易出错。

Excel公式栏使用MID和TEXT从身份证号码提取出生日期

第三步:计算当前整岁年龄

不想单独保留出生日期列的话,可以直接在年龄列输入 =DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"Y")。TODAY() 自动读取系统当天日期,DATEDIF 的第三个参数填 "Y",返回的是已经过完生日后的实际整岁年龄。

图片转Excel
图片转Excel

从图片中提取表格数据并生成Excel文件。当用户提供截图、照片或扫描件中的表格数据,要求转成Excel/xlsx时触发。支持多张图片批量提取,自动识别列结构,数值类型自动识别(Excel可直接计算)。触发词:图片转Excel、截图转表格、图片提取数据、图片转xlsx、image to xlsx、screenshot to spreadsheet。

下载

Excel使用DATEDIF和TODAY根据身份证号码计算年龄

第四步:向下填充并核对结果

第一条年龄算对之后,拖动或者双击单元格右下角的填充柄,把公式复制到下面所有行。核对的时候至少找两条数据验证:一条生日已经过了,一条生日还没到,别图省事直接把 YEAR(TODAY())-出生年份 当通用写法,这种写法碰到今年生日还没到的人,会多算 1 岁,结果不准。

Excel将身份证号码计算年龄公式向下填充并检查结果

用到的函数语法

函数 语法 关键参数 本例写法
MID MID(text,start_num,num_chars) text 是原文本,start_num 是起始位置,num_chars 是提取长度 MID(A2,7,8)
TEXT TEXT(value,format_text) value 是要格式化的值,format_text 是格式代码 TEXT(MID(A2,7,8),"0000-00-00")
TODAY TODAY() 无参数,返回当前日期 TODAY()
DATEDIF DATEDIF(start_date,end_date,unit) start_date 是出生日期,end_date 是截止日期,unit 写 "Y" 表示整年 DATEDIF(出生日期,TODAY(),"Y")

DATEDIF 在部分 Excel 版本里不会出现在函数提示列表里,直接手动输入就能正常运行。这套公式只适配 18 位二代身份证:这类证件的出生日期固定在第 7 到第 14 位;如果是早年的 15 位身份证号,出生年份只有后两位,不能直接套这套写法。

常见错误怎么改

现象 常见原因 处理办法
结果显示 #VALUE! 身份证号长度不对,或提取出来的 8 位不是有效日期 先用 =LEN(A2) 检查是否为 18 位,再看第 7 到第 14 位是不是合规日期
结果显示 #NUM! 出生日期晚于今天,或日期被 Excel 识别失败 检查身份证号是否录错,必要时先把出生日期列单独提取出来核对
公式显示 #NAME? 函数名拼错,或把中文引号输进了公式里 函数名用英文,公式里的引号和逗号都用英文半角符号
年龄比实际大 1 岁 只用了 YEAR(TODAY())-出生年份 的简化写法 改用 DATEDIF(出生日期,TODAY(),"Y"),让 Excel 自动判断生日是否已过

扩展示例

需求 公式 说明
先提取出生日期 =TEXT(MID(A2,7,8),"0000-00-00") 适合需要单独查看出生年月日的表格
直接计算年龄 =DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"Y") 一列公式直接返回整岁年龄
年龄后加“岁” =DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"Y")&"岁" 适合报表展示,后续汇总前建议保留纯数字年龄列
按指定日期计算年龄 =DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),DATE(2026,12,31),"Y") 适合按年底、入职日或考试截止日统计年龄

处理批量名单时,先拿一两条身份证号手动核对生日和年龄没问题,再向下填充整列。提前把号码位数、日期格式、英文符号这类小问题排查掉,后面要筛选年龄段或者做数据透视表的时候,数据也稳不会出问题。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

2023.07.25

5281

7

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3276

5

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

2023.08.02

3060

3

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

2023.08.02

1444

3

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

2023.08.02

697

5

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

2023.08.09

5148

7

java导出excel
java导出excel

在Java中,我们可以使用Apache POI库来导出Excel文件。本专题提供java导出excel的相关文章,大家可以免费体验。

2023.08.18

6923

6

excel输入值非法
excel输入值非法

在Excel中,当输入的数值非法时,有以下多种处理方法。本专题为大家提供excel输入值非法的相关文章,大家可以免费体验。

2023.08.18

1721

3

excel生成二维码
excel生成二维码

虽然Excel本身并不直接支持生成二维码,但我们可以借助一些插件或宏来实现在Excel中生成二维码的功能。本专题为大家提供excel生成二维码的相关文章。

2023.08.18

2938

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.3万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.6万人学习