vlookup查找值不唯一时怎么办

就是表1里的序号在表2里对应2个或多个值时,只能返回第一个。怎样才能把这些值都找出来呢

今天给大家分享的是当我们在使用VLOOKUP函数时,经常会遇到的几种查找不到想要的值的情况,到底是什么原因导致的呢?

问题一、查找的内容不在区域内

比如我们想根据姓名查找员工的入职时间,我们看到"妲己"在D列,但是我们查找的区域是B2:C15列,所以查找不到内容

我们只需要更改查找区域,把公式更改为,即实现查找

=VLOOKUP(H2,D2:G15,3,0)

问题二、查找的格式和查找区域不一致

我们在查找内容时,比如相同的数字,但是我们依然查询不到数据,这时可能就是你的数据格式出现问题。

这时会出现两种情况,我们分别要怎么操作呢?

情况一、查找的内容是数值,目标区域是文本

就如下面这样,的我们查找不到需要的内容

此时我们可以在任意位置输入数字"0",按Ctrl+C复制,然后选择B2:B15,点击菜单栏中【开始】-【粘贴】-【选择性粘贴】,选择加,我们再看查找的内容已经正常了

情况二、查找的内容是文本,目标区域是数值

就像下面这种情况

此时我们只需要修改J2的公式为,即可实现正常查找

=VLOOKUP(--I2,B2:E15,4,0)

在I2前增加两个短"--"线,相当于I2*1,即把I2的文本内容转换为数字

问题三、查找的值不在区域首列

当你查找的内容不是在查找区域的第一列时,我们也是查找不到数据的,就像如下示意

要想查找到内容,我们只需要更改数据区域的查找值在起始列就可以,更改公式为:

=VLOOKUP(I2,E1:G15,3,0)

问题四、查找的区域内容未锁定

不知道大家有没有遇到这样的问题,我们的查找内容格式OK,区域也是OK,但是当我们下拉查找数据的时候,会发现有的可以查找到内容,有的查找不到,这里主要问题就是我们没有对查找的区域内容进行锁定导致的

此时我们只需要更改公式,对查找的区域按F4增加锁定即可

=VLOOKUP(I2,$E$2:$G$15,3,0)

问题五、查找区域存在隐藏空格

当我们查找的时候,看查找区域没有问题,查找的区域也是锁定的,也没有问题,但当我们查找的时候,可能依然查找不到想要的内容,这时就要考虑,查找的区域或者查找的内容是否存在隐藏字符,如空格

比如下面的我们使用Len函数计算数据的长度,可以发现和查找的内容的长度不一致,比如查找赵云只有2位,但实际显示为4,即代表存在隐藏字符

这时我们可以对查找的内容区域按Ctrl+H,查找替换,查找内容选择空格(" "),替换为空

当我们再查找的时候即OK了

或者我们可以直接在单元格输入公式,同样可以实现查找

=VLOOKUP(TRIM(I2),$E$2:$G$15,3,0)

其中TRIM函数是实现把单元格内容前后的空格去掉,而且我们可以看到I2单元格内容的长度依然为4.

问题六、查找区域存在强制换行符

问题五还存在一种情况,即使我们替换空格了,但仍然查找不到内容,这时要查找的内容可能包含强制换行符,就像下面这样的,即使我们使用TRIM函数依然无法解决。

这时我们只需要对数据取消强制换行即可

方法一、使用查找替换方式

可以选中区域,按Ctrl+H进行数据替换,查找内容输入Ctrl+J,替换内容为空,我们再进行数据查找即找到想要的内容了

方法二、使用CLEAN函数

我们就要使用CLEAN函数了,其功能是实现删除文本中非打印字符的任何工作表信息,比如我们常见的换行符

我们再输入公式,可以发现可以正常查找内容了

=VLOOKUP(CLEAN(I2),$E$2:$G$15,3,0)

综合问题五和问题六的情况,我们可以把公式更改为:

=VLOOKUP(CLEAN(TRIM(I2)),$E$2:$G$15,3,0)

这样当我们遇到不论是存在空格还是强制换行符的时候都可以正常查找了

总结

当我们在使用VLOOKUP函数时,查找不到内容,我们就可以从以上的6种情况去考虑

比如:

1、确认查找的格式是否正确

2、查找的数据区域是否在第一列,是否有锁定

3、查看是否存在隐藏的字符等

如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-02
假如表二被查内容B2开始:
表一B2:=IF(ROW(1:1)>COUNTIF(表二!$B$2:$B$5000,$B$1),"",INDEX(表二!B:B,SMALL(IF(表二!$B$2:$B$5000=$B$1,ROW(表二!$B$2:$B$5000)),ROW(1:1))))
ctrl+shift+enter下拉公式
在表一B1输入你要查找的内容就可以了本回答被提问者和网友采纳
第2个回答  2011-10-20
没办法,只有做表时把值做到最小单位,唯一值。
第3个回答  2011-11-02
先在表2中用VLOOKUP找出表1中的序号,再用筛选进行收集。