关注我们并标星,不错过每一篇实用教程
关于一对多查询,之前跟大家分享过使用FILTER函数来解决,这个可以说是最简单的解决方法了,但是不少粉丝表示他们的版本并不支持这个函数,今天就跟大家分享下我们如何使用Vlookup来解决这个的问题,废话不多说,让我直接开始吧
一、原理解析
当我们使用Vlookup查找数据如果遇到重复值,Vlookup仅仅会返回第一个找到的结果,这个是Vlookup函数的特性无法更改。
想要使用Vlookup返回多个结果,我们就必须要使查找值与查找区域变得唯一,所以接下来我们需要构建辅助数据,来使查找值与查找区域变得唯一,这个是必要前提条件,下面就来看下我的做法吧。
二、构建辅助数据
在这里我们想要查找下3班的所有姓名,首先需要在数据源的最前面插入一列数据,随后在A2单元格中将公式设置为:=COUNTIF($B$2:B2,$F$2),这样的话3班的数据就会被设置为一个从1开始的序列,如下图所示
跟大家简单的讲解下这个公式,COUNTIF函数的作用是进行单条件计数
这个函数的重点是在第一参数中,第一个B2进行了绝对引用,向下拖动它是不会变动的,第二个进行了相对引用,向下拖动它是可以发生变动的。所以当我们向下拖动数据的时候,第一参数的判断区域就会逐渐增加,这样的话就能达到一个分组计数的效果。
三、ROW函数构建查找值
上面我们已经在数据源为3班构建了唯一的查找值,它是一个从1开始的序列,哪个在Vlookup函数的第一参数中的这个查找值,我们应该如何构建呢?
可以使用ROW函数,它的作用是获取单元格的行号,在这里我们只需要将其参数设置为A1,然后向下填充就能得到一个从1开始的序列,如下动图所示
四、Vlookup进行数据查询
唯一的查找值与数据都有了,在利用Vlookup函数来查询就非常的简单了,在这里我们只需要将公式设置为:=VLOOKUP(ROW(A1),$A$1:$D$15,3,0),然后向下填充即可
在这里需要注意的是:向下拖动公式的时候,如下看到#N/A就表示已经查找完毕,看不到#N/A,就一直向下拖动即可
领取专属 10元无门槛券
私享最新 技术干货