Excel数据清洗之九 处理数值类型的ID
我们经常会遇到另一种类型的分类数据,“数值类型的ID”,例如,

这里的ID就是数值类型的。这样的ID有一个问题,就是你很可能会将ID这一列设置为常规或者数值类型。
然后就会遇到一些问题。
比如,公司的系统升级,原有的5位ID不够用了,现在改用9位ID了。新的ID是这样的形式,

但是对于系统中已有的ID,采取的措施是前面补0,所以系统中的ID是这样的形式,

但是,我们在别的数据源中也有类似的情况,比如在某个文本文件中,也有很多数据,

我们通过复制/粘贴,或者直接用Excel打开文本文件的方式,将这些数据导入到Excel表格中,

你会发现,这些数据的ID被变成了数值,而前面的四个0也被去掉了。这样,就造成了同一个ID在表格中出现了多个不同的版本,当我们用ID进行分类统计时,就会造成分类不一致的问题。

一个错误的处理方法
很多人遇到这种情况,会采用一种处理方法:“自定义格式”。
选中ID列,按Ctrl+1打开格式对话框,在自定义格式中输入“000000000”,

点击确定后,结果如下,

除了对齐方式外,看上去没有问题了。
但是这是错误的。我们以第一个ID和第四个ID为例,看上去都是“000010110”,但是通过LEN函数判断一下长度,

我们发现,它们的长度不同。尽管第四个ID看上去是“000010110”,但是前面的四个0是显示格式里设置的,并不是真正存在的。
这样在统计时就会出现两个ID,

所以,不建议使用自定义格式的方法处理这种情形。

正确的处理方法
可以采用下面的方法来进行数据清洗工作。
首先,添加一个辅助列,

在其中输入公式:
=TEXT(B3,"00000000")
填充到整列,

复制,然后在ID列中粘贴成数值,

得到结果,

删掉辅助列和长度列即可。

总结和其他
这里的介绍的TEXT函数在数据清洗中经常会用到。大家有兴趣的话可以在本公众号中搜索相关的文章学习。
如果你的数据清洗工作比较复杂,这个数据清洗的任务可能很艰巨,你可以关注下面的公众号:ExcelEasy寻找更多方法和技巧。
