Excel身份证号提取出生日期、年龄、性别,3个公式一学就会(Office版)
- 2026-11-07 19:28:45
一、问题场景
做考勤表、员工档案或活动报名统计时,A 列往往躺着一长串身份证号,领导却要求你单独列出每个人的出生日期、年龄、性别。手动拆分 18 位数字,几百行能敲到手酸,还容易出错。
其实 Excel 里用 3 个公式就能从身份证号里自动提取这 3 项信息,再双击一下填充柄,整列直接出结果。
二、分步操作
步骤 1|整理表头
A 列放「身份证号」,右侧分别留出 B 列「出生日期」、C 列「年龄」、D 列「性别」。

步骤 2|提取出生日期
在 B2 输入:
=TEXT(MID(A2,7,8),"0000-00-00")按 Enter,B2 会显示 1990-01-01 这样的日期文本。
如果你想要真正的日期格式(方便后续排序、筛选),可以用:
=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))步骤 3|计算年龄
在 C2 输入:
=DATEDIF(B2,TODAY(),"Y")按 Enter,C2 返回周岁年龄。

步骤 4|判断性别
在 D2 输入:
=IF(MOD(MID(A2,17,1),2)=1,"男","女")按 Enter,D2 会根据身份证第 17 位数字自动返回「男」或「女」。
步骤 5|批量填充整列
选中 B2:D2,把鼠标移到右下角的小方块(填充柄),双击或向下拖动到最后一行,公式会自动复制,整表瞬间完成。

三、避坑提醒
⚠️ 避坑:15 位身份证号不能直接用这套公式。
本文公式基于 18 位身份证设计。15 位身份证没有第 17 位,出生年份也只有 2 位,直接套用会出错。如果表格里混有 15 位号码,需要先补全为 18 位,或单独写兼容公式。
⚠️ 避坑:出生日期为空时,DATEDIF 会报 #NUM!。
如果 B 列是空单元格,或者输入的日期晚于今天,DATEDIF 会返回错误。填充前先检查 A 列身份证是否完整、B 列是否已成功提取日期。
⚠️ 避坑:公式里的引号必须是英文半角。
"Y"、"男"、"女" 这些引号如果用了中文全角,Excel 会报 #NAME? 或公式不识别。输入公式时建议直接手打,不要从网页全文复制。
四、总结
记住这 3 个公式的组合:
出生日期: =TEXT(MID(A2,7,8),"0000-00-00")年龄: =DATEDIF(B2,TODAY(),"Y")性别: =IF(MOD(MID(A2,17,1),2)=1,"男","女")
输完一组公式,双击填充柄,成百上千行身份证信息就能自动拆分。建议收藏本文,下次做人事表、活动报名统计时直接复制公式。
五、文末收藏引导
📌 收藏备用:办公刚需,解决实际问题。
觉得有用,点个「推荐」👇,让更多同事看到。
实测环境声明: 本文所有操作均在 Microsoft Excel 365(16.0.20326,中文界面) 中通过
comtypesCOM 调用逐条执行并验证通过。截图为高仿真界面示意图,菜单名称、按钮位置与实际软件一致。