输入身份证号后三位自动变成0 (系统导出身份证号码变成000怎么办)

背景:

从公司的系统中导出人员信息是csv文件,用Excel打开之后,发现身份证号码默认使用"科学计数法"格式,后三位变成了"000"。

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

超过15位的数值默认变“0”

显然这不是我们想要的结果,这个问题应该怎么处理呢?

原理:

Excel认为数字超过15位之后,那么15位之后的数值就变得没有意义了。这就好比我们说会"马云身家581亿美元",但是如果说"马云身家581亿零789美元",这样后面的"789美元"就显得多余了,是没有意义的。

解决方法:

当我们用Excel直接打开csv文件的时候,Excel认为这是一个18位数的数值,所以就会默认将后三位变成"000"。一旦后三位变成了"000"的话,那么这个操作是"不可逆"的。

也就是说,这个时候即使将单元格格式改为"文本",这串数字也一样"回不去"了。

所以我们不能直接用Excel打开这个csv文件,而是用Excel中的"数据查询"将csv文件的数据导入,将身份证列的格式设定好为"文本"之后再上载到Excel中。在Excel工作表中将身份证列的格式从"常规"再次改成"文本",即可确保身份证号码的完整呈现以及不会发生格式变化。

第一步:通过数据查询导入csv文件。

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

第二步:将"身份证号码"列改为"文本"格式。

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

第三步,上载数据到Excel工作表。

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

第四步,将"身份证号码"列改成"文本"格式。

输入身份证号后三位自动变成0,身份证号码导出格式后四位全是零

至此,这个曾经困扰很多人的“身份证号码”问题就解决了。

需要说明一下,这里用的数据查询,实际上是Excel2016专业增强版自带的一个PowerBI组件Power Query。Office2019/365都默认自带这个组件。

如果你安装的是Office2013或者Office2010的话,需要到微软官网免费*载下**并安装这个组件哦。

如果觉得文章对你有用,点个赞呗。

我是微软认证讲师MCT,关注我,一起玩Office。