这些数据清理工作在Excel中有更好的方法(二)

我们,让Excel变简单

今天我们继续介绍使用Power Query可以完成的数据清洗工作。

解决Vlookup匹配出现错误的问题(不可打印字符和空格)

我们知道,在使用Vlookup函数时,往往会遇到匹配结果出现错误值:#N/A的情况,此时,往往在超过99%的场景下是由于下面的两个原因造成的:

  1. 空格—在查找区域的第一列或查找值中含有空格

  2. 不可打印字符—在查找区域的第一列或查找值中含有不可打印字符

例如,在下图中,如果我们有一个VLOOKUP公式返回了错误值:

明明两个都叫“芬达苹果200”,结果却匹配不上

其实都是因为不可见字符闹的:

两个看上去同样的字符,得到的却是不同的长度,就是因为在左表中有不可见字符
通常,我们采用Clean函数处理这种情况:
这种方法可以很好的解决这个问题,但是仍然是一个手工操作的模式,不利于建立自动化处理过程。而且,在实际中操作这个事情比演示的麻烦,因为你需要在查找区域和查找值中都进行一遍的同样的操作。
使用Power Query,可以很好的解决这个问题:

对于VLOOKUP函数的错误而言,空格其实占了大多数情况:

在本图中,两个值看上去都是“芬达苹果200”,但是VLookup返回错误值,原因是因为有一个芬达苹果多了一个空格。

关于空格,我们可以像用Clean函数清楚不可见字符一样,用Trim函数处理空格。也可以使用替换来处理:

不管使用哪种方法,都是手工工作模式,不能建立自动化数据处理过程。(而且替换需要考虑中英文空格不同的情形)

在Power Query中可以很方便的处理这种情况:

抽取部分内容作为新的一列

下面的例子我们在介绍快速填充功能时讲过:

同样,这个巧妙的方法是个一次性的手工操作,不能建立在自动化数据处理过程中。

在Power Query中可以很方便的完成:

还可以采取跟快速填充同样的做法:

清除数据表中的错误值

我们拿到的数据源中可能包含错误值,这些Excel的错误值都是有函数计算带来的,当我们把公式粘贴成数值时,这些错误值也被保留了下来:

当我们使用公式计算时,我们可以使用IFERROR等函数处理错误值。但是对于已经存在在公式中的常量错误值,我们只能删除它们(或者替换成别的内容)。下面是常规的清除错误值的方法:

尽管很简单,但是面临同样的问题:你无法自动化这个过程。

我们可以使用Power Query来完成这个工作:

需要注意的是,所有的错误值进入到Power Query后,都被当作Error

总结

对于数据处理工作来说,Power Query是一个再合适不过的工具了,利用它,我们就可以在源数据和结果报表之间建立一个流水线,自动完成数据处理工作。那些耗时长的重复性工作都可以在这个流水线中自动完成。

关注本公众号,点击底部菜单“联系客服”,与客服取得联系,索取“更好的数据清洗方法(二)”案例文件

END
关注ExcelEasy
关于Excel的一切问题,你都可以在这里找到答案
(0)

相关推荐