vlookup搭配countif,轻松搞定一对多查询,让你秒变Excel大神

关于一对多查询,之前跟大家分享过使用FILTER函数来解决,这个可以说是最简单的解决方法了,但是不少粉丝表示他们的版本并不支持这个函数,今天就跟大家分享下我们如何使用Vlookup来解决这个的问题,废话不多说,让我直接开始吧

想要从零学习Excel,可以点击↑↑↑↑↑↑↑

一、原理解析

当我们使用Vlookup查找数据如果遇到重复值,Vlookup仅仅会返回第一个找到的结果,这个是Vlookup函数的特性无法更改。

想要使用Vlookup返回多个结果,我们就必须要使查找值与查找区域变得唯一,所以接下来我们需要构建辅助数据,来使查找值与查找区域变得唯一,这个是必要前提条件,下面就来看下我的做法吧。

vlookup搭配countif,轻松搞定一对多查询,让你秒变Excel大神插图1

二、构建辅助数据

在这里我们想要查找下3班的所有姓名,首先需要在数据源的最前面插入一列数据,随后在A2单元格中将公式设置为:=COUNTIF($B$2:B2,$F$2),这样的话3班的数据就会被设置为一个从1开始的序列,如下图所示

vlookup搭配countif,轻松搞定一对多查询,让你秒变Excel大神插图3

跟大家简单的讲解下这个公式,COUNTIF函数的作用是进行单条件计数

第一参数:$B$2:B2,B2就是第一个姓名的位置
第二参数:$F$2,就是查找表中3班的位置,进行了绝对引用

这个函数的重点是在第一参数中,第一个B2进行了绝对引用,向下拖动它是不会变动的,第二个进行了相对引用,向下拖动它是可以发生变动的。所以当我们向下拖动数据的时候,第一参数的判断区域就会逐渐增加,这样的话就能达到一个分组计数的效果。

三、ROW函数构建查找值

上面我们已经在数据源为3班构建了唯一的查找值,它是一个从1开始的序列,哪个在Vlookup函数的第一参数中的这个查找值,我们应该如何构建呢?

可以使用ROW函数,它的作用是获取单元格的行号,在这里我们只需要将其参数设置为A1,然后向下填充就能得到一个从1开始的序列,如下动图所示

vlookup搭配countif,轻松搞定一对多查询,让你秒变Excel大神插图5

四、Vlookup进行数据查询

唯一的查找值与数据都有了,在利用Vlookup函数来查询就非常的简单了,在这里我们只需要将公式设置为:=VLOOKUP(ROW(A1),$A$1:$D$15,3,0),然后向下填充即可,

在这里需要注意的是:向下拖动公式的时候,如下看到#N/A就表示已经查找完毕,看不到#N/A,就一直向下拖动即可

vlookup搭配countif,轻松搞定一对多查询,让你秒变Excel大神插图7

最后来简单的介绍下这个函数,它就是Vlookup的普通查询,非常的简单

第一参数:ROW(A1),用ROW函数构建从1开始的序列作为查找值
第二参数:$A$1:$D$15,查找的数据区域,需要进行绝对引用
第三参数:3,表示在查找区域中,我们想要的结果在第3列
第四参数:0,表示精确匹配

以上就是今天的全部内容了,关键是构建唯一的数据源与查找值,如果你有其他的方法能够达到这个条件,理论上就能使用Vlookup实现一对多查询。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。本文网址:https://www.excelwordppt.com/word-excel-ppt/6195.html

发表评论

登录后才能评论