Excel 怎么从身份证号识别性别
用 Excel 公式从 18 位或 15 位身份证号判断男女,并避免长数字显示成科学计数法或末尾变成 0。讲清公式写法、位数检查和数据核对方法。
名单里有几百条身份证号,需要按男女分类统计,手动一条条看既慢又容易出错。很多人会想到让表格直接“识别”性别,但对已经录入好的身份证号来说,可靠的办法是用公式计算,而不是去识别图片。本文写给需要整理员工、学员或会员名单的人,讲清楚怎么用 Excel 公式从身份证号得出性别,以及怎么确保长数字显示正确。
这个判断依据来自身份证号本身的编码规则。公民身份号码的性别信息藏在固定位置,只要位置对、格式对,公式就能给出稳定的结果。读完这篇,你可以在自己的表格里直接套用公式,并知道结果出错时该从哪里查起。
表格怎么识别身份证男女?一句话结论
直接结论:按身份证号的位数选择取数位置。18 位号码取第 17 位,15 位号码取第 15 位,第 17 位或第 15 位为奇数记为男,偶数记为女。
| 你的情况 | 推荐做法 | 原因 |
|---|---|---|
| 18 位身份证号(现行标准) | 用 MID 取第 17 位,再用 MOD 对 2 取余 | 第 17 位是性别码,奇数为男,偶数为女 |
| 15 位身份证号(早年证件) | 用 MID 取第 15 位,判断规则同上 | 15 位号码的性别码在第 15 位 |
| 两种位数混在一列 | 用 IF 按 LEN 分支,各取对应位置 | 一个公式同时处理两种情况,避免漏算 |
| 号码来自 PDF 或图片 | 先把号码转成表格文字,再写公式 | 公式只能处理已经在单元格里的文字 |
| 位数不是 15 或 18 | 显示“位数错误”,不判断性别 | 号码有误时强行判断,结果没有意义 |
开始之前:先确认这几点
1. 身份证号是否已经完整录入。 如果号码来自扫描件,先确认每个数字都没有漏识别。公式只会按位置取数,漏一位,后面所有位置都会错位。
2. 号码是否带空格或不可见字符。 从网页或其他系统复制的号码,常带有首尾空格。空格会让 LEN 算出的位数不准,导致判断错误。可以先用修剪空格的方法清理一遍。
3. 你要的是性别判断,而不是身份核验。 性别码只反映编码规则,不能证明号码对应的人是谁,也不能判断号码是否真实有效。涉及正式用途时,应以证件原件为准。
4. 名单里是否有个人隐私数据。 身份证号属于敏感信息。处理时尽量在本地表格中完成,不要为了省事把整列号码上传到来路不明的在线工具。统计完成后,结果列可以只保留男女,原始号码按单位制度妥善保管或脱敏。
5. 文件是 PDF 还是表格。 如果号码只存在于 PDF 里,可以先用 OmniDoc 桌面客户端的 PDF 编辑器做 OCR 识别,再导出为 Excel,核对无误后再写公式。
用公式判断男女的步骤
假设身份证号在 A 列,从 A2 开始,结果写在 B 列。
- 在 Excel 中打开名单,确认身份证号位于 A 列,第一条数据在 A2。
- 选中 A 列要录入号码的区域,先把单元格格式设为文本,再粘贴或输入号码。这一步要在输入号码前完成。
- 在 B2 输入判断公式:
=IF(LEN(A2)=18,IF(MOD(VALUE(MID(A2,17,1)),2)=1,"男","女"),IF(LEN(A2)=15,IF(MOD(VALUE(MID(A2,15,1)),2)=1,"男","女"),"位数错误"))。 - 按回车,确认 B2 显示“男”或“女”,并检查这一条与证件是否一致。
- 双击 B2 右下角的填充柄,或拖动到最后一条数据,把公式填充到整列。
- 如需统计人数,可以在空白单元格用 COUNTIF 分别统计“男”和“女”的数量,例如
=COUNTIF(B:B,"男")。 - 对“位数错误”的行逐条人工核对,修正号码后公式会自动更新结果。
公式里的 VALUE 把取出的文字转为数字,MOD 对 2 取余,余数为 1 即为奇数。如果你的表格版本对文字和数字的自动转换比较严格,这一层转换能避免判断失效。
做完后逐项核对
结果出来后,不要直接拿去统计,先做下面几项检查。
| 检查项 | 怎么看 | 有问题怎么办 |
|---|---|---|
| 号码显示是否完整 | 看 A 列是否出现 E+ 之类的科学计数法,末几位是否全为 0 | 号码已被截断无法恢复,需从原始名单重新导入,并确保先设为文本格式 |
| 位数是否正确 | 另加一列用 LEN 统计位数,只应出现 15 或 18 | 找到“位数错误”的行,核对原件后修正 |
| 性别是否合理 | 抽查十几条,与原件或名单备注对照 | 若整段都错,检查是否有空格,或位置公式是否写成了别的位置 |
| 是否有重复号码 | 用 COUNTIF 统计 A 列每个号码出现的次数 | 重复的记录要确认是否录入两次,避免男女人数被重复计算 |
| 末位校验码 | 可选:用校验规则核对第 18 位 | 校验不通过的号码多为录入错误,应退回核对 |
如果你需要更严格地检查 18 位号码的录入是否正确,可以用校验码规则判断:前 17 位分别乘以固定权重求和,对 11 取余,再对照余数表得到应有的第 18 位,最后一位为 X 时要注意大写。这一步只能发现录入错误,不能证明号码对应的人真实存在。
📊 核心对比
常见的几种判断方式,适用场景不同:
| 判断方式 | 适用场景 | 注意事项 |
|---|---|---|
| 用公式从号码计算 | 号码已经在表格里,数量多、要求可复现 | 结果稳定,改一条号码结果即刻更新 |
| 手动逐条核对 | 数量很少,需要人工确认证件的场合 | 速度慢,但能发现号码以外的问题 |
| 用图片识别性别 | 不适合作为判断依据 | 身份证号不会以性别形式直接呈现在图片里,图片识别无法替代编码规则 |
❓ 常见问题(FAQ)
1. 表格识别性别公式为什么结果全是“女”或全是“男”?
多数情况是号码被存成了科学计数法或文本格式不一致,导致取出的第 17 位不是真实数字。先检查 A 列号码是否完整,再看公式里的位置是否写对。
2. 身份证号输入后变成 E+17 这种样子,怎么办?
Excel 默认把超过 15 位的数字按数值处理,末位会被强制变成 0,这种数据无法靠改格式恢复。正确做法是先把列设为文本再录入,已经错的号码要从原始名单重新导入。
3. 表格怎么识别身份证号码正确?公式能判断真假吗?
公式只能检查位数、格式和校验码规则,不能证明号码属于某个真实的人。它适合发现录入错误,正式核验仍需以证件和权威渠道为准。
4. 15 位和 18 位号码混在一列,要分开处理吗?
不用分开。上面的公式用 IF 和 LEN 自动分支,两种位数各取对应的位置,结果一并写在同一列。
5. 扫描件里的身份证号怎么快速变成表格数据?
可以先用 OCR 识别扫描件,把文字整理到表格中,识别结果要逐条核对,尤其是 0 与 8、1 与 7 这类容易混淆的数字。
📝 总结
用 Excel 判断身份证男女,关键是按位数取对的位置:18 位看第 17 位,15 位看第 15 位,奇数为男、偶数为女。动手前先把号码设为文本,做完后检查位数、重复和异常值,表格就能稳定地给出男女统计。


