ARTICLE · 1306368
WPS表格 | 身份证提取生日,这个公式最靠谱!
做人事、行政、财务的朋友,是不是经常要处理员工/客户身份证信息?想从身份证里批量提取生日,结果提取出来要么是文本,要么没法算年龄?今天教你一个 MID + DATE 组合公式,提取出来就是真正的日期格式,后续算年龄、工龄直接能用!
一、先看效果
身份证号一般在第7—14位包含出生日期,例如:
110101199001011234
其中:
第7—10位: 1990(年)第11—12位: 01(月)第13—14位: 01(日)
我们只需要用公式把这三段截出来,再组合成日期。
二、核心公式(建议收藏)
假设身份证号写在B2单元格,在生日列输入:
=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))然后向下填充公式即可。
三、公式原理拆解
这个公式看起来长,其实很好理解:
=DATE(年, 月, 日)① 提取年份
MID(B2,7,4)意思:从B2单元格第7位开始,截取4位,得到出生年份。
② 提取月份
MID(B2,11,2)意思:从第11位开始,截取2位,得到出生月份。
③ 提取日期
MID(B2,13,2)意思:从第13位开始,截取2位,得到出生日。
最后用 DATE 函数把“年、月、日”组合成一个标准日期值。
四、操作步骤
第1步:选中生日结果单元格
在身份证号旁边新增一列“生日”,选中第一个结果单元格。
第2步:输入公式
输入:
=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))按回车。
注意:如果你的身份证号在C2,就把公式里的B2改成C2。
第3步:设置日期格式
如果结果显示成一串数字,不要慌。
选中生日列 → 右键 →设置单元格格式→ 选择日期或短日期→ 确定。
这样就能正常显示为:
1990-01-01
或
1990/1/1
第4步:向下填充
选中已经设置好的单元格,拖动右下角填充柄向下拉,或者双击填充柄,批量生成所有生日。
五、为什么推荐 DATE,而不是 TEXT?
很多人会用 TEXT 提取成“1990-01-01”的样子,但那是文本。
用 DATE 提取出来的是真正的日期值,好处是:
✅ 可以直接计算年龄✅ 可以直接计算工龄✅ 可以按日期排序、筛选✅ 可以继续参与其他日期函数运算
比如算年龄,就可以继续用:
=DATEDIF(C2,TODAY(),”Y”)其中 C2 是提取出来的生日。
六、常见问题
1. 公式结果显示为数字怎么办?
设置单元格格式为“日期”即可。
2. 公式报错怎么办?
先检查身份证号是否位数正确、有没有空格或字母。如果数据不规整,可以在公式外套一层 IFERROR:
=IFERROR(DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)),”号码有误”)3. 身份证号要设成什么格式?
建议身份证列设置为文本格式,避免长数字变成科学计数法。
七、一句话总结
身份证提取生日,认准这个公式:
=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))提取后记得把单元格格式设为“日期”,后续算年龄、工龄就方便多了!
建议收藏本文,下次处理员工信息表直接照着用 ✅如果你还想学“身份证提取性别”“身份证计算年龄”,可以留言告诉我~















































































