VLOOKUP函数也有查找不到的时候,不知道你能不能解决

相信老师给大家教了这么多的课程了,其中最受大家欢迎的还是VLOOKUP函数,但是也有VLOOKUP函数解决不了的问题。不信,请看下面的例子:

01

VLOOKUP查找出错

下表中是一份某集团公司分公司的销售额,现按要求进行将右面的销售额从左侧的表里匹配过来:

这本是一个常规的查找的例子,在F2单元格中输入公式:

=VLOOKUP(E2,A2:$B$13,2,0),按Enter键完成后向下填充后发现结果错了。

如上图所示,检查了公式没有问题,也检查了单元格中的格式是否包含不可见字符与空格,也没有出现类似的情况。

02

原因排查

对于上面出现的问题,对公式与原始数据进行了排除:

1、检查是否包含空格:检查发现上述的原始空格与要查找的目标数据并没有包含空格;(如果包含可使用查找替换或者使用TRIM函数清除)

2、检查是否包含不可见字符:经发现并没有包含;(如果包含可使用CLEAN函数清除)

3、检查引用范围:经检查公式引用范围合适,锁定的行号与列标无误;(如果有误,请使用$符号可以锁定行号列标)

4、检查函数属性:经查VLOOKUP函数的帮助,发现VLOOKUP函数不支持区分大小写查找。(问题就出在这里)

在微软的官方的函数说明中,并没有直接说明VLOOKUP函数不支持区分大小写查询,但是与其具有同行作用与性质的HLOOKUP函数却做了说明。所以由此可以得出VLOOKUP函数也不具备区分大小写查询的功能。

03

修正公式

既然VLOOKUP也不能正确地查的,那么解决这个问题的最直接的途径是什么?

那就是使用万能查询函数LOOKUP函数,其本身也不区分大小写查询,但是与EXACT函数相互配合后却能进行查询。

即在F2单元格中输入公式:

=LOOKUP(1,0/(EXACT(E2,$A$2:$A$13)),$B$2:$B$13),按确定键后向下填充。

说明:EXACT函数有两个参数,是用来比较两个对象是否一致的函数。而LOOKUP函数是一个引用函数。小伙伴们不必强行理解这个公式,只要记住下面的套路即可:

=LOOKUP(1,0/(EXACT(查询值,查阅值所在区域)),返回结果所在的区域)

(0)

相关推荐