Hello,大家好,今天跟大家分享我们如何使用VLOOKUP函数来解决一对多查询的问题,相信很多人都听过到一对多查询,但是不明白具体是什么意思,简单来说一对多查询就是通过查找一个值来返回多个结果,比如我们想要通过班级找到这个班级中的所有学生,说得再通俗一点其实就是筛选,只不过我们需要使用公式来获得筛选的结果,这个的操作其实也非常的简单,下面就让我们来一起操作下吧
一、设置辅助列
在这里我们想要通过查找4班,来找到4班所有学生的姓名。首先我们在数据的最前面插入一个空白列,在这一列中A1单元格什么数据都不要输入,在A2单元格中输入公式:=(B2=$G$2)+A1随后向下填充数据,这样的话辅助列就构建完毕了,这个函数的作用是每遇到一个4班就会增加1
跟大家简单的讲解下公式的计算原理,公式为:=(B2=$G$2)+A1,B2=$G$2它的结果是一个逻辑值true或者false,我们可以将true看作是1,false看做是0。在A2单元格中条件是成立的,而A1单元格是空白值所以函数的结果就是1。向下填充公式的时候,在A3单元格中的公式为:(B3=$G$2)+A2,在这里条件不成立结果是false也就是0,A2的结果是1所以函数的结果就是1,直到遇到下一个4班函数的结果才会增加1,这个就是函数的计算过程
二、一对多查询
虽然我们构建的辅助列它是有重复值的,但是我们需要的结果它都是在重复值的第一个位置,这样的话我们可以将从1开始的序列作为查找值,来找到准确的结果。在公式张总可以利用row(A1)来获取一个从1开始的序列,我们只需要将公式设置为:=VLOOKUP(ROW(A1),$A$1:$D$16,3,0)向下填充即可找到正确的结果,简单的跟大家讲解下他的计算原理
公式:=VLOOKUP(ROW(A1),$A$1:$D$16,3,0),这个函数其实就是vlookup的常规用法
第一参数:ROW(A1),查找值,利用row函数构建从1开始的序列 第二参数:$A$1:$D$16,查找的数据区域 第三参数:3,需要查找的结果在数据区域的第三列 第四参数:0,精确匹配
在这里我们尽量将公式向下多拖动一些,因为如果姓名的个数大于公式的个数,我们就无法找到全部的姓名了,必须要保证公式的个数大于姓名的个数才行,但是多出的公式会被显示为错误值,这个时候可以使用IFERROR函数来屏蔽下错误值,公式为:=IFERROR(VLOOKUP(ROW(A1),$A$1:$D$16,3,0),"")
以上就是今天分享的全部内容,怎么样?你学会了吗?
我是Excel从零到一,关注我,持续分享更多Excel技巧
(此处已添加圈子卡片,请到今日头条客户端查看)