【Excel函数教程】VLOOKUP函数匹配失灵,函数照妖镜破解难题。

公众号回复2016   下载office2016

VLOOKUP是我们都很熟悉的一个函数了,一般的用法大家也都比较清楚,而且常见的坑基本也都能防住,例如格式不一致的、列数没算对的、范围没锁定的、数据里有空格的等等这些。

但是今天遇上的这个问题真的就见鬼了,啥都没看出问题,就是匹配不上,不信看图。

公式肯定没问题,而且两边的数据肯定都是文本的(这种情况不可能是数值),就一个单元格也不存在锁定的问题,是不是有空格,检查了一下还真没有。

一般检查空格是在编辑栏,选择全部内容后可以看到,上面两个图中都看不到空格,如果有空格的话是这样的效果。

既然都不是以上这些问题,那到底是怎么回事?

通常这类问题都是因为一种叫做“不可见字符”的东西在作怪。

都说了是不可见字符,那肯定就是看不见的东西,怎么证明是不是有这些不可见字符呢,一个简单的函数就能让它们无处隐藏,这个函数就是LEN。

LEN函数的作用很简单,就是计算单元格里内容的字数。

我们先用LEN来看看查找值是什么情况。

这说明A2里一共有16个字,再来看看数据源的情况。

看出问题了吗,表面上一样的内容,长度竟然不同,而差的这一个就是不可见字符。

可能有些朋友要问,这个不可见字符都看不见,是从哪来的?

一般来说,不可见字符经常存在于系统导出的数据中,因为不同的数据在导出时,会带有一些字段分隔符这类的东西,这些内容我们看不见,但又是实实在在存在的,往往会对我们后续的使用造成一些小麻烦。

现在已经知道VLOOKUP失灵是因为有不可见字符,那接下来该怎么解决,这就要用到另一个专门清洗不可见字符的函数CLEAN。

CLEAN用法非常简单,CLEAN(A2)就可以将单元格里的不可见字符全部清掉,因此我们只需要在VLOOKUP中做一个小改动即可。

=VLOOKUP(CLEAN(A2),D:E,2,FALSE)

关于不可见字符,其实涉及到一个数据清洗的问题。

大多数很简单的情况,使用CLEAN函数都可以处理,但是对于较多数据的清洗,在没有其他专用软件的时候,Excel2016自带的PQ是个很不错的选择。

只需要将数据加载到PQ中,再回传Excel,基本就完成了数据清洗。

有时候我们认为系统导出的数据就很好,这是一个误区,其实系统导出的数据中有很多坑,不信看这个:

【Excel经验谈】不要以为系统导出的数据就很好,其实到处都是坑!

(0)

相关推荐