EXCEL中Vlookup函数只能找到第一个,有多行数据都满足条件怎么办呢?



作者:Excel到PowerBI

在EXCEL中,Vlookup函数只能找到第一个正确的项,如果有多行数据都满足条件,应根据实际业务需要进行处理,主要包括以下几种情况:

一、只需要返回第一个值

这种情况就是VLookup的默认情况,直接使用即可,而且实际业务中很多情况下也就是这种需求,所以VLookup也是这么设计的。

二、增加其他条件配合返回唯一的值

这种情况应该更加普遍,当一个条件不足以确定唯一需要引用的数据时,通常可以通过增加匹配查找条件来确定唯一的值。而,当条件增加时,即转为多列匹配的问题,可以先构建辅助列,然后使用VLookup来完成,具体如下图所示:

或者使用数组公式来完成(比较复杂一点儿,我通常并不建议使用),如下图所示:

三、就是要返回多列

这种情况我在实际工作中碰到的其实不太多,当然,这种需求也可以通过数组公式来完成,但是,我更建议使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)来实现,因为通过新功能来实现非常简单,而且可以很灵活地选择数据的返回方式,而且并不需要写公式。具体方法如下:

Step01:将相关表数据上载到Power Query功能中

Step02:进行合并(查找引用)操作

Step03:选择两表间用于匹配的列

Step04:选择需要查找引用的数据列(这也是通过Power Query功能比使用VLookup函数更加强大的地方,可以一次性读取所有需要的列)

Step05:数据返回Excel

通过以上简单的几个鼠标操作的步骤,即可实现VLookup一样的功能,而且返回的即为所有符合条件的多行数据。

综上,在使用VLookup函数时,如果碰到数据重复的情况,应根据实际业务需要选择相应的处理方式,从简单的VLookup返回第一行,还是增加查询条件返回其他确定的行,或者返回多行,可以选择的方法也很多。如果是返回多行或多列,建议使用Power Query功能来实现。


0