在 excel 中从身份证号提取生日,直接用 `=--text(mid(b2,7,8),"0-00-00")`,再把结果单元格设置成日期格式。
第1步:确认身份证号所在列
先打开表格,找到身份证号码所在列。18 位身份证号的第 7 到第 14 位是出生日期,比如 19980301 代表 1998 年 3 月 1 日。
如果身份证号被 Excel 显示成科学计数法,先把身份证号列设置为文本格式,再重新录入或导入数据。身份证号位数丢失后,后面公式提取出来的生日也会错。

第2步:在生日列输入 MID 提取公式
点击第一行生日结果单元格,输入 `=MID(B2,7,8)`。这里的 B2 要换成当前身份证号所在单元格,7 表示从第 7 位开始取,8 表示取 8 个字符。
这个公式会先得到 19980301 这样的文本结果,适合快速确认截取位置是否正确。若第一条结果位数不是 8 位,先检查身份证号列有没有空格或缺位。

第3步:用 TEXT 转成日期样式
想让生日直接显示成日期,可以输入 `=TEXT(MID(B2,7,8),"0-00-00")`。公式会把 19980301 显示成 1998-03-01 这样的样式。
如果后面还要计算年龄,建议在 TEXT 前面加两个减号,写成 `=--TEXT(MID(B2,7,8),"0-00-00")`。这样结果会变成真正日期值,而不是只看起来像日期的文本。

第4步:向下填充整列结果
第一行公式正确后,拖动单元格右下角填充柄向下复制。Excel 会自动把 B2 改成 B3、B4,逐行提取每个身份证号里的生日。
填充后检查几条样本,重点看月份和日期有没有错位。身份证号中间如果夹了空格,公式不会自动识别,需要先清理原始数据。

第5步:检查生日结果格式
最后选中生日列,把单元格格式设置为日期。能按日期排序、能参与年龄计算,说明结果已经是可用日期。
如果排序时 2000 年和 1999 年顺序混乱,多半还是文本格式。重新使用带 `--TEXT` 的公式,再设置日期格式即可。

保存前保留身份证原列,不要只留下生日结果。后续核对数据时,原始身份证号能帮助快速定位提取错误。


















