夜雨聆风学习资料网

ARTICLE · 1021465

身份证号粘进Excel,为什么后面几位全变成0了?

身份证号粘进Excel,为什么后面几位全变成0了?

你从系统里复制了一串18位编号:

123456789012345678

粘进Excel。

一看,好像没问题。

可再点进单元格,却发现它已经变成:

123456789012345000

后面几位——

被Excel改了。

你赶紧把单元格格式改成:

文本

结果还是:

123456789012345000

更吓人的是:

原来的678已经回不来了。

到底发生了什么?

因为Excel把身份证号当成了“数字”,而Excel最多只能精确保存15位有效数字。

01|问题不是身份证,是“18位数字”

先说结论。

Excel对普通数字的精确计算,有一个非常重要的限制:

最多15位有效数字。

例如:

123456789012345

15位。

Excel可以完整保存。

但是:

123456789012345678

18位。

超过第15位以后,Excel就不能继续把它当成普通数字精确保存。

所以可能会变成:

123456789012345000

这不是显示问题。

而是:

数据本身已经被改变了。

02|为什么Excel会这么做?

因为Excel默认认为:

你输入数字,是为了计算。

比如:

销售额成本数量利率单价

这些都属于真正的“数值”。

但是身份证号虽然全是数字,却不是拿来做:

身份证号 + 身份证号

这种计算的。😂

身份证号、银行卡号、员工编号、快递单号,本质上其实都是:

编号

而不是“数值”。

所以我们真正应该告诉Excel的是:

别把它当数字。把它当文字保存。

03|正确方法:先设成“文本”,再粘贴

假设你要粘贴一整列身份证号。

不要先粘。

先做:

选中这一列→ 设置单元格格式→ 文本

然后再粘贴:

123456789012345678

Excel就会把这18个字符原样保存。

不会把后面改成0。

还有一个更快的方法

如果只是临时输入一两个编号,可以在前面加:

'

例如:

'123456789012345678

Excel会把它当成文本。

单元格里显示的仍然是:

123456789012345678

前面的单引号一般不会显示在单元格内容中。

04|已经变成0了,再改成文本还有用吗?

这是最容易踩的第二个坑。

假设Excel已经把:

123456789012345678

变成:

123456789012345000

这时候你再:

设置单元格格式 → 文本

会发生什么?

答案是:

没用。

因为Excel已经把后面的:

678

丢掉了。

你现在做的只是把:

123456789012345000

这个错误结果改成文本。

真正原来的三位数字并不会自动回来。

改成“文本”只能防止继续出错,不能恢复已经丢失的数字。

如果原始数据已经被破坏,必须:

回到原始系统 / 原始CSV / 原始文件重新导入。

05|科学计数法和“被改成0”,还不是一回事

有时候你会看到:

1.23457E+17

很多人马上慌了:

“完了,身份证号被改了!”

这里要区分两种情况。

第一种:只是显示成科学计数法

有些数字只是因为列宽或格式,显示成:

1.23457E+17

这属于:

显示方式

第二种:第15位以后真的变成0

例如实际已经是:

123456789012345000

这是:

数据精度已经丢失

后者才是真正麻烦的。

所以不要只看单元格表面。

点击单元格,看看公式栏里的完整内容。

06|哪些数据最好一开始就设成文本?

除了身份证号,还有很多职场数据其实都应该这么处理。

银行卡号

通常很长,而且不是拿来做数学运算。

快递单号

长数字编号。

员工编号

尤其可能出现:

000123

如果按数字存,前面的:

000

也可能消失。

客户编号 / 订单号

例如:

001285

真正重要的是编号本身,不是它的数学大小。

手机号

虽然通常位数没有超过15位,但本质也是:

标识符,而不是计算数值。

凡是“只用来识别、不参与加减乘除”的数字串,都应该警惕:它可能更适合存成文本。

07|以后导入人员名单,先检查这一列

尤其是HR、行政、财务拿到别人发来的名单时。

不要导入后才发现:

身份证号尾数变了银行卡号不对员工编号前面的0没了

导入前先问自己:

这一列到底是“数值”,还是“编号”?

如果只是编号:

文本格式往往更安全。

最后,只记住一句话

看到一串数字,不要马上让Excel把它当:

“数字”。

先问:

我要拿它计算,还是只拿它识别人?

如果只是身份证号、银行卡号、订单号、员工编号……

它真正的身份其实是:

文字型编号。

而Excel里那个特别重要的规则是:

数字最多精确到15位。

18位编号直接当数字输入——

后面几位真的可能被改掉。

你工作中踩过哪一种坑?

A|身份证号后几位变成0

B|银行卡号变科学计数法

C|员工编号前面的0消失

D|今天才知道Excel只有15位精度 😅

留言直接打:

A / B / C / D

下一篇,我们继续拆一个平时看着不起眼、出了问题却特别让人抓狂的Excel细节。

#Excel技巧#Excel函数#Excel教程#Excel公式#办公技巧#文员必备#上班族必备#办公效率#XLOOKUP#Excel职场实战

相关学习资料

返回首页浏览学习资料