答疑 | Excel中的身份证号为什么变成了+17,怎么办?
关于Excel的身份证号录入问题,基本是老生常谈了,也是新手问的最多的问题之一,大部分你都可以得到怎么做,基本没人告诉你为什么?所以有了今天这篇,就是既讲怎么做,又讲为什么?
先来看一个动画:

这个比较常见,就是分离出身份证号,但是你会发现分离出来后,变成了+17。
你可能想到了,之前有人告诉你,设置为文本格式即可,你设置完后,发现还是不行!

为什么Excel中身份证号会变成+17的格式以及这种格式叫什么?
+17这种格式叫什么,什么情况下会出现?
+17这种格式叫做科学记数法,Excel中数值超过11位就会自动使用此格式显示,身份证号18位早超过11位,所以格式方面肯定已科学记数法显示。
"科学记数" 格式以指数表示法显示数字,用 e +n替换数字的一部分,其中 e (指数)将前面的数字乘以10到n次幂。

身份证号后三位什么变成0?

细心的你或者你很早就已经发现,变成+17格式后,后三位变成了0,为什么,可能你一直不知道,这个我们去微软官方说明中找找!
微软官方关于Excel的计算规则与限制中明确说明,Excel中数字精度为15!
什么意思?也就是说Excel中数字最多最多精确到15位,超过部分显示为0
而且这个过程是不可逆的,也就是说,如果你一不小心把超过15的数值,变成了科学记数法,是无法转回去的,超过的部分始终为0

关于Excel中的游戏规则和限制还有很多:
https://support.microsoft.com/zh-cn/office/excel-%E8%A7%84%E8%8C%83%E4%B8%8E%E9%99%90%E5%88%B6-1672b34d-7043-467e-8e27-269d656771c3
如何分离和如何正确的录入身份证号码?
现在我们就可以来解决上面的动画演示问题
> 分列分离
分类中单纯的设置单元格格式是没有用的,分列中可以对每个分列出来的列,单独设置格式,比如演示中就是把身份证号设置为文本格式,所以结果才能正确显示!!
> 如何录入超过15的数值
方法1:直接设置单元格格式为文本
方法2:先录入英文单引号在录入

今日小结

1、Excel中数字超过11位就会默认已科学记数法显示
2、Excel中的数字精度为15位,超过部分显示为0,此过程不可逆
3、超过15数字,需要以文本格式录入,分列中可以单独对各部分设置格式

