我是靠谱客的博主 失眠啤酒,最近开发中收集的这篇文章主要介绍excel vlookup多个条件匹配多列_VLOOKUP高能应用:查询符合条件的多个结果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

c6f9bf6796075f712b437fa596ca8e0d.png

小伙伴们好啊,今天老祝和大家来说说VLOOKUP的高能用法,看看这位大众情人还藏着多少不为人知的秘密。
函数的语法为:

VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)

如下图,需要从B~D的数据表中,根据G1单元格的部门,查询该部门所有的姓名。

fad755ad34bca5e0dd03940ca593e478.png

首先在A2单元格输入以下公式,向下复制:

=(B2=$G$1)+A1

b332134f71c39d87a4002012bf941aba.gif

然后在G5单元格输入以下公式,向下复制:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),"")

5c7262b190e1b487d914a2260f920db3.gif

简单说一下公式的意思:

1、B列的部门每重复出现一次,A列的序号增加1。

2、VLOOKUP函数使用ROW(A1)得到1至N的递增序列作为查询值,在A:C列这个查询区域中,依次返回与递增序号相对应的C列的姓名。

由于VLOOKUP在有多个匹配结果时,默认返回第一条记录,所以只会返回A列中各个序号首次出现的记录。

3、注意查找区域必须由辅助列A列开始。

4、最后将辅助列字体设置为白色或进行隐藏即可。

如果不使用辅助列,VLOOKUP能不能返回符合条件的多个结果呢?

除了公式稍微复杂了些,其实也是可以的。

在G5输入以下公式,向下复制。

=IFERROR(VLOOKUP(G$1,OFFSET(B$1:D$1,MATCH(G4,C:C,0),0,999),2,0),"")

94969ac52d7d367c7a5eb0703fb623ac.gif

简单说说这个公式的计算过程:

1、MATCH(G4,C:C,0)部分,以G4单元格的内容“姓名”为查找值,在C列中查找该内容所在的位置1。得到的结果作为OFFSET函数向下偏移的行数。

2、OFFSET函数以“B$1:D$1”为基点,根据MATCH函数的查询结果向下偏移1行。向右偏移的列数为0列,新引用的行数是999行,得到的引用区域作为VLOOKUP函数的查询区域。

3、当公式向下复制到G6单元格时,MATCH函数的查询值就变成了G5单元格中的姓名,并返回该姓名在C列中的位置。后面其他单元格中的公式也是如此。

4、OFFSET函数根据MATCH函数得到的位置信息,得到一个新的999行的引用范围。也就是每查询到一个姓名,就从引用区域中将其排除掉。

有了MATCH和OFFSET函数的帮忙,VLOOKUP函数就如鱼得水了。

此公式实现过程有点绕,如果一时难以理解,可以先收藏一下,实际工作中只要会套用就OK了。

好了,今天的分享就是这些,祝小伙伴们一天好心情!

图文制作:祝洪忠

最后

以上就是失眠啤酒为你收集整理的excel vlookup多个条件匹配多列_VLOOKUP高能应用:查询符合条件的多个结果的全部内容,希望文章能够帮你解决excel vlookup多个条件匹配多列_VLOOKUP高能应用:查询符合条件的多个结果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部