excel表中身份证左上角特殊字符(全数字身份证号输入会出错)

近日,有朋友发现自己用excel登记身份证信息时,身份证号码居然被Excel偷偷篡改了后3位(修改为0了)。导致他录入了半天的身份证有一大半都是错误的数据,只有带字母的没事。就算他采用复制粘贴的方式依然会错误,不太懂计算机的人彻底蒙圈了,但懂计算机的人很容易就发现问题了。

excel表中身份证左上角特殊字符(全数字身份证号输入会出错)(1)

1、问题原因

根据微软官方文档说明,微软在设计excel时,遵循了有关如何存储和计算浮点数的 IEEE 754 规范。 因此,Excel 在数字中就只存储了 15 位有效位数,并将第十五位后的数字更改为零。这就很好地解释了为什么全数字的身份证号码会被篡改后3位的问题了。

至于带字母的身份证号码为什么没事,也很好解释。因为在一长串数字中加入了字母后,excel就不再认为它是数字,转而认为它是一个Unicode字符串。这个Unicode字符串在excel顶底层存储时unsigned short数据类型,最大可以包含32767个字符的Unicode字符串。所以,excel单元格最大可以输入32767个字符,但在工作表上最多只能显示1024个字符。

excel表中身份证左上角特殊字符(全数字身份证号输入会出错)(2)

2、解决办法

要解决这个问题,有两种方法:

①、输入长数字之前,在单元格中增加输入一个单引号“ ’ ”。这样excel就自动将长串数字转存为Unicode字符串了。

②、输入长数字之前,先将单元格的数据格式主动设置为“文本”格式。这样,你输入的长串数字也就被excel当作文本信息来存储了。

除了上面的解决方法外,我们还要养成一个好习惯。那就是做完表格,一定要抽样检查一下。以免出现问题,造成不可挽回的后果。

excel表中身份证左上角特殊字符(全数字身份证号输入会出错)(3)

3、副作用

以上两种方法虽然都能成功解决问题,但是也会带来副作用。那就是都会把这个单元格的数据当作字符串来存储,后续如果再用这个信息当作源数据来进行数学计算的话,excel容易出错,有时候会在结果单元格直接显示公式给你。因为字符串不是数字,excel自动识别过元数据和计算公式时容易识别错误。

excel为了避免未知的错误,会在该单元格上的左上方出现绿色小三角标记作提醒。如果将鼠标移动过去,你会看到黄色叹号提醒。会提醒你“该单元的内容为文本格式或者前面有单引号” ’ “。我们看到这样单元格,就尽量不要用它来做计算了。

excel表中身份证左上角特殊字符(全数字身份证号输入会出错)(4)

总结

微软的excel虽然做得很好,但这些注意事项也还真的是要非常注意,不然因为软件不正确的使用导致你交付的文件有问题就得不偿失了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页