用excel从身份证号里提取出生年份很简单:18位身份证的出生日期藏在第7到第14位,其中第7到第10位就是出生年份。最常用的公式是 =mid(a2,7,4),如果之后要按年份做筛选、分组或者统计计算,还可以用 =--mid(a2,7,4) 直接把得到的文本转成数字格式。
第一步:整理身份证号列
先把所有身份证号集中放在同一列,示例里A列放身份证号,B列用来存提取出来的出生年份。身份证号最好提前设置成文本格式保存,尤其是末尾带X的号码,避免Excel自动把它当成数字处理,影响后续提取结果。

第二步:输入MID公式
点击B2单元格,输入公式 =MID(A2,7,4)。这个公式的逻辑很简单:从A2单元格内容的第7个字符开始,连续截取4位,正好就能拿到身份证号里的出生年份,输出结果就是1997、1995这类4位数字。

第三步:向下填充公式
确认第一行的提取结果没问题后,选中B2单元格,要么拖动单元格右下角的填充柄往下拉,要么直接双击填充柄,公式就会自动同步到下面所有行,每一行都会自动读取对应A列的身份证号计算结果。
Excel/WPS 公式大师。用大白话描述需求,直接给出可用的公式、函数组合和数据处理方案,并解释每一段的作用。当用户提到"Excel 公式"、"表格函数"、"VLOOKUP 怎么用"、"XLOOKUP"、"LET"、"LAMBDA"、"动态数组"、"这个公式报错了"、"#N/A"、"#REF!"、"

第四步:检查年份格式
要是只需要显示出生年份,用 =MID(A2,7,4) 完全够用。但如果后续要按年份排序、筛选年龄段或者做统计汇总,建议把公式换成 =--MID(A2,7,4),开头两个减号的作用就是把文本格式的年份转成可计算的数字格式。要是提取出的结果不对,先用 =LEN(A2) 公式检查下对应身份证号是不是标准18位。

MID函数语法和参数
| 函数 | 语法 | 本例写法 |
|---|---|---|
MID |
MID(text,start_num,num_chars) |
=MID(A2,7,4) |
| 参数 | 含义 | 本例取值 |
|---|---|---|
text |
要截取的原始文本 |
A2,也就是身份证号所在单元格 |
start_num |
从第几个字符开始提取 |
7,18 位身份证号第 7 位开始是出生年份 |
num_chars |
连续提取几个字符 |
4,年份固定为 4 位 |
常见错误怎么处理
| 现象 | 原因 | 处理办法 |
|---|---|---|
| 结果不是 4 位年份 | 身份证号长度不对,或单元格里有空格 | 先用 =LEN(A2) 检查长度,再用 =TRIM(A2) 清理多余空格 |
公式显示 #VALUE!
|
起始位置或字符数写错,或引用单元格为空 | 检查公式是否为 =MID(A2,7,4),并确认 A2 有身份证号 |
| 无法按年份大小排序 |
MID 返回的是文本 |
使用 =--MID(A2,7,4) 或 =VALUE(MID(A2,7,4)) 转成数字 |
| 15 位身份证号提取不准 | 15 位身份证号年份只有两位 | 18 位用 =MID(A2,7,4),15 位需要另行按旧编码规则处理 |
扩展示例
| 需求 | 公式 | 说明 |
|---|---|---|
| 提取出生年份 | =MID(A2,7,4) |
返回文本形式的 4 位年份 |
| 返回数字年份 | =--MID(A2,7,4) |
适合后续排序、筛选和统计 |
| 提取完整出生日期 | =TEXT(MID(A2,7,8),"0000-00-00") |
返回 1997-03-19 这类日期文本 |
| 按出生年份判断年龄段 | =IF(--MID(A2,7,4) |
适合快速给名单做分组标签 |
批量处理大量名单的时候,最好先随便挑一条身份证号手动核对下数位:前 6 位是地区码,第 7 到第 10 位是出生年份。确认第一条公式跑出来的结果没问题再整列填充,能避免很多因为公式引用错行、身份证号格式不规范导致的批量错误。

















