ARTICLE · 1204383
身份证号粘进Excel变成1.23E+17:粘之前先做这一步
行政做员工信息表、财务录供应商资料、老师统计家长信息——只要往 Excel 里粘身份证号,几乎人人都撞过这一幕:明明粘的是 18 位,回车之后成了 3.30206E+17,或者变成了一串末三位全是 0 的怪数字。
先把最难听的那句话放在前面:
这种情况,绝大多数是救不回来的。 Excel 只认数字的前 15 位,18 位身份证存进去,最后三位直接被记成 000,而且改不回去。
所以这篇的顺序是倒过来的:先说已经粘坏了怎么办,再说下次怎么一步避开。
选中那个格子,看上面这三条,中一条就说明已经坏了:
• 显示成 3.30206E+17 这种带 E 的样子;
• 虽然显示成数字,但末三位是 000(原本不该是 0 的那三位);
• 内容是靠右对齐的(文本靠左,数字靠右)。
三条全没中,恭喜你,还没坏,直接跳到第 2 步去防。

分三种情况,由易到难:
第一种:刚粘完,还没做别的。
直接按 Ctrl + Z 撤销。这是最干净的救法。撤销之后不要急着再粘,先看第 2 步。
第二种:已经存盘了,但源头还在。
源头=你从哪儿复制来的:网页上的报名表、OA 里的员工信息、客户发来的那个原始表格。
回到源头重新复制,这是唯一靠谱的办法。千万不要盯着那个已经变味的数字去改末三位——改出来的号是假的,比错的还糟,因为它看着像真的。
第三种:源头没了(比如是照着纸质表录的)。
那就没法从技术上恢复了,只能重新问对方要一遍。这时候别在这个格子上折腾,把表存好、把那一行标红,去问人要原件。
顺带说清一件常被误解的事:网上流传的"改单元格格式能救回来",不行。格式只影响怎么显示,不影响已经存进去的值。15 位以后的精度,是粘的那一瞬间就丢掉的。
关键在顺序:先给列定格式,再粘内容。 反过来做多少次都是坏的。
1. 先选中要放身份证号的整列(点列头,比如点一下 C 就选中整列);
2. 右键 → 「设置单元格格式」→「数字」页签 → 选「文本」→ 确定;
3. 这时候再粘贴。
粘完你会看到两件事:18 位完整显示、左上角有个绿色小三角。
那个绿三角是好事,别去动它。 它是 Excel 在提醒你"这是文本不是数字",正是你要的效果。要是手贱点了它菜单里的"转换为数字",恭喜,后三位当场变 0,回到第 1 步。
临时救急的一招:只录一两行、懒得设格式的时候,先在英文输入法下打一个单引号 ' 再粘号码——'330206199001011234 这样。单引号不会显示出来,但它会让 Excel 把后面整串当文本。

这条是给批量情况的:客户发来一个 .csv,或者你们 OA 导出员工名单,不要直接双击打开它。
双击打开就等于让 Excel 自己猜每一列是什么类型,它一看一长串数字,就自作主张当数字处理——几千行身份证一次性全毁,而且因为是批量操作,Ctrl + Z 都撤不回来。
正确做法:
Excel → 顶部「数据」→「获取数据」→「从文件」→「从文本/CSV」→ 选那个文件 → 预览窗口出来后,点「加载」旁边的小三角选「加载并转换」或者直接选「转换数据」 → 在弹出的预览里,右键身份证那一列 →「更改类型」→ 选「文本」→ 再点「关闭并上载」。
麻烦大概三十秒,几千行一次保住。
• 单元格里 18 位完整,最后一位不是 0;
• 内容是靠左的;
• 左上角有绿三角。
三样齐了,这张表就安全了,可以往下填。
| 整张表已经存盘、关掉、甚至发给别人了 |
| 身份证号不需要参与任何计算 |
手机号、银行卡号、社保号同理0574 开头的号码,被当数字 0 会被吃掉。凡是"不需要计算的号码",一律按文本存。 |
评论区说下你的情况(比如"整个表几千行已经存盘了""用的是 WPS,找不到这个菜单"),我下一篇就写这个。
想要一张能贴在工位上的顺序卡,评论区回复 【身份证】,我把《Excel号码防丢卡》发你——粘之前瞄一眼,从此不用再来问这三位数去哪了。















































































