为什么vlookup函数没问题,却匹配不出来数据

如题所述

在使用VLOOKUP函数公式的时候,公式输入的没有问题,明明原始数据里面有的,却没有查找匹配到,今天我们来列举工作中经常出现的这几种场景

1、非打印字符
有时候公式没有错误,然后查找替换空格,发现没有空格

这种情况,大概率是从公司软件里面导出数据,里面的非打印字符的原因,那我们可以使用clean()函数对查找值,以及查找列进行数据清洗

在一空白列,我们输入公式=clean(b2),对B列数据进行清选

然后将H列复制,选择性粘贴为值,放在B列中,输入的公式是:

=VLOOKUP(E2,B:C,2,0)

如果上述公式还没有得出结果,那么对E列的查找值也可以进行clean()函数清洗一次,或者使用公式:

=VLOOKUP(CLEAN(E2),B:C,2,0)

就能得到结果了。

2、空格的存在
例如,我们现在根据员工姓名查找工资数据,使用公式:

=VLOOKUP(E2,B:C,2,0)

左边有的数据,右边还是没有得到结果

员工名字看起来一样,实际上有可能是因为空格造成的,我们可以在表格里面按快捷键CTRL+H,调出查找替换,在查找的内容里面输入一个空格,然后点击查找全部,来看有没有空格的存在

当我们发现空格后,只需要选择全部替换就可以把空格全部去除,得到正确的结果

3、格式错误
左边是员工信息表,右边是想通过员工编号,查找匹配出对应的员工姓名,使用的公式

=VLOOKUP(E2,A:C,3,0)没有问题

查找结果全错了,但左边原始表格里面明明是有数据的

这种对于数字的查找,大多数情况是因为数字的格式不一样导致的,数字有分数值型和文本型两种,如果格式不一样,vlookup是没办法进行查找的

那么我们必须做到查找值和查找列的数字格式是一致的,我们可以将文本型数字转换成数值型的,选中文本型数字,在黄色感叹号下,点击转换成数字

所以我们必须保持查找值和源数据的查找列格式保持一致

关于今天的技巧,你学会了么?下次再碰到明明有数据,却查找不到的时候,按步骤检查一下吧~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-24
这是由于提问中两个表格的A列的数字格式是不一样的,一个是数值格式的数字,一个是文本格式的数字。只要把两列的格式设置为一样,因为都是数字,建议都设置为数值格式那么原来提问的公式就可以用了。

如不想改格式的,也可以把公式改为这样就能用了:
=IF(A2="","",TEXT(VLOOKUP(--A:A,Sheet1!A:B,2,),"e年m月d日"))

如果有些数据可能在Sheet1的A列中是没有的,可以加入防错判断,遇上这情况时,公式返回空白,以上公式返回的是#N/A错误值。
=IF(COUNTIF(Sheet1!A:A,A2),TEXT(VLOOKUP(--A:A,Sheet1!A:B,2,),"e年m月d日"),"")本回答被提问者采纳
相似回答