ARTICLE · 1259098
Excel 里输身份证号,怎么变成一串乱码数字?不是软件坏了,改个格式就好
在表格里填身份证号,回车一看:「4.52E+17」。再点进去看,后面几位变成了「000」。填手机号,前面那个 0 不见了;填工号「001」,变成了 「1」。
很多人第一反应是「Excel 坏了」「是不是要重装」,其实都不是。这是表格软件一个用了很多年的默认规则:它把纯数字当成「数」来算,而不是当成一串字符来存。
为什么会变成这样
表格软件默认的单元格格式是「常规」。在「常规」下输入纯数字,它会做两件事:
- 位数一多(一般超过 11 位),就用科学计数法显示,「4.52E+17」 就是这个意思——4.52 乘以 10 的 17 次方。
- 有效数字超过 15 位,多出来的位会被直接丢掉,补成 0。身份证 18 位,后 3 位就是这么没的。
关键点在这儿:丢掉的位是真丢了,不是只是没显示出来。 你把格式改成文本,「000」 也不会自己变回原来的数字。
正确做法:先定格式,再输入
顺序很重要——格式要在输入之前设好,不是输完了再改。
方法一:把整列设成文本
选中要填的那一列(点列字母,比如 D 列),右键 →「设置单元格格式」→ 在「数字」标签里选「文本」→ 确定。然后再往里输身份证号,就是原样显示,一个不差。
方法二:输入时前面加一个英文单引号
在数字前面打一个半角的英文单引号 「'」(英文输入法下的单引号),再输号码。这个符号不会显示出来,作用是告诉表格「后面这串是文字,别当数字算」。
适合临时填一两个、不想改整列格式的时候。缺点是这列以后要是拿去做计算,得先处理掉。
方法三:从别处粘贴、导入的时候指定成文本
从系统里导出、或者从记事本粘一大段号码进来时,别直接 Ctrl+V。走「数据」→「从文本/CSV」,在导入向导里把这一列的类型选成「文本」,再导入。
直接粘贴最容易出事:粘进来的瞬间就已经按数字处理完了,后面再改格式也救不回来。
已经输错了怎么办
只能重新输入。 这是很多人卡住的地方:以为改成文本格式就好了,结果发现后面还是 000。
原因是那几位在输入的那一刻就已经被丢掉了,表格里存的就是个错数,改显示格式改不回来。所以流程是:把这一列设成文本 → 清空 → 重新填一遍(或从原始来源重新粘贴一次)。
如果原始号码只在纸质材料上、没有电子版,那就只能重新录。这也是为什么填表前先看一眼列的格式,比事后补救省事得多。
三个附带的小问题
一是左上角的绿色小三角。 设成文本后,单元格左上角可能出现一个小绿三角,提示「以文本形式存储的数字」。这是提醒,不是错误,不影响使用,可以忽略;想让它消失,选中单元格点旁边的感叹号选「忽略错误」。
二是文本格式不能直接求和。 身份证号这类本来就不需要计算,没影响。但如果是金额列被误设成文本,SUM 函数 会算不出来——这时候把格式改回「数值」就行,金额不会丢精度。
三是整列设文本后,日期也会变成一串数字。 如果这列以后要填日期,别整列设文本,单独处理号码那几格更稳妥。
一句话记住
号码类的东西(身份证、手机号、工号、银行卡、快递单号、学号),输入前先设成文本,或者前面加个英文单引号。 已经输错了就重输,改格式没用。
这类问题不花钱、不装软件,就是一层窗户纸。知道了,一分钟就能弄对;不知道,能折腾一下午,还以为是电脑出了问题。
你是在哪一步卡住的?是粘贴进来就变乱码,还是改完格式发现末尾还是 000?评论区说下具体情况,我帮你看看还有没有别的办法。
我是普通人的AI研究室,只写国内能直接打开、自己真用过的办法。
#Excel技巧 #表格格式 #办公技巧 #电脑基础操作















































































