vlookup想查询多个值,我该怎么办?

“我的表格中某个人或者某个代码的记录出现多次,现在想用vlookup根据这个人或这个代码来查询出其出现的所有记录,我该怎么办?”你是否也遇到过这个问题呢?我想或迟或早,你都会遇到这个问题的。通常我们知道vlookup只返回查找到的第一个值,但现在要返回多个值,这确实是一个问题。今天就来说下vlookup如何实现一对多的查询。

-01-

具体应用

1.根据姓名查询出所有的记录

如下图所示,用vlookup根据姓名查询出所有的记录,实现筛选的功能。也就是我说的一对多的查询。具体怎么做的下面一步一步说明。

对于相同的名字vlookup只返回查到的第一个值,所以我们需要将相同的名字变成不同的名字,那就用它出现的次数给它添加一个序号。比如,刘卓第一次出现就是刘卓1,第二次出现就是刘卓2。

在A列添加一个辅助列,在A2单元格输入公式=COUNTIF(B$2:B2,H$1),下拉。这样H1单元格的姓名在B列中第1次出现的时候,A列中对应的序号就是1,第2次出现的时候对应的序号就是2。

然后将B列的姓名和A列的序号连接起来作为vlookup查询区域的第1列,也就是$B$2:$B$11&$A$2:$A$11这部分。vlookup查询区域的第2列还是B列,也就是B$2:B$11这部分。实际就是下图这样。但是现在这两列还是单独的两列,怎么让它们组合在一起呢?用if函数,IF({1,0},$B$2:$B$11&$A$2:$A$11,B$2:B$11)这样就组合在一起了,作为vlookup的第2参数,也就是查询区域。

由于vlookup查询区域的第1列连接了序号,所以查询的值,也就是姓名,也要连接序号,可以用row函数,所以vlookup的第1参数就为$H$1&ROW(1:1),右拉序号不变,下拉序号加1。正好符合查询区域。

由于vlookup的查询区域只有2列,所以返回第2列,第3参数为2;查找方式是精确查找,第4参数为0。所以完整的公式为=VLOOKUP($H$1&ROW(1:1),IF({1,0},$B$2:$B$11&$A$2:$A$11,B$2:B$11),2,)。

这个公式可以右拉,是由于vlookup查询区域的第2列的列号没有锁定,右拉的时候会相对变化。但是下拉的时候会出现错误值#N/A。可以用ifna处理这种错误,最后的公式为=IFNA(VLOOKUP($H$1&ROW(1:1),IF({1,0},$B$2:$B$11&$A$2:$A$11,B$2:B$11),2,),""),不要忘了按三键。

如果用辅助列的话,用上面那种方法还不如用下面的方法。辅助列的公式为=B14&COUNTIF(B$14:B14,H$13),实际就是将姓名和序号连接起来放在辅助列中。然后就可以将A13:E23这个区域作为vlookup的查询区域,最后的公式为=IFNA(VLOOKUP($H$13&ROW(1:1),$A$13:$E$23,COLUMN(B:B),),""),而且这个公式还不是数组公式。

如果不用辅助列,你可以做到吗?在G30单元格输入公式=IFNA(VLOOKUP($H$27&ROW(1:1),IF({1,0},$A$28:$A$37&COUNTIF(OFFSET($A$28,,,ROW($28:$37)-27),$H$27),A$28:A$37),2,),""),三键结束,右拉下拉完成。这种思路和第一种方法是一样的,只不过将序号放在一个数组中,这样就可以免去辅助列,用的是offset的多维引用。感兴趣的话,你可以研究一下。

(0)

相关推荐

  • Excel几百行报错,总不知原因?2招1秒解决多年烦恼!(建议收藏)

    在Excel表格处理的过程中,我们经常会遇到各种各样的错误,如下图所示,红色部分的错误类型,是不是很眼熟呢? 话不多说,今天教大家,掌握VLOOKUP函数的同时,还弄清楚Excel中常见的7种错误类型 ...

  • Excel提取唯一值公式大全!

    今天我们来给大家分享一下,关于Excel中使用公式去重的各种写法,大家除了关注方法,更多的是去思考思路! 对!我们的需求就是这么简单,重复的提取一个! 我们看看有多少种写法. 公式1 ▼数组公式,记得 ...

  • 姓名有重复值时,VLOOKUP如何查询?

    姓名有重复值时,VLOOKUP如何查询?

  • 菜鸟记195-辅助列让VLOOKUP函数查询更便捷

    关键词: EXCEL2016:VLOOKUP函数:COLUMN函数:ROW函数:TEXTJOIN函数:数据查询:操作难度**** 还记得小菜和您分享过的将获奖名单连接在一起用于表彰决定的名单吗? 请参 ...

  • 多表数据汇总查询之4、同一查询条件多值处理

    [前期相关文章] 1.查询条件动态化入门 2.多查询条件动态化 3.与Excel数据有效性合体 本次实现效果: 小勤:对于按条件查询的问题,能不能再改善一下呢?比如现在的货品,有时候想一次查多个的,怎 ...

  • 我想查询进项发票上的具体税收分类编码

    公众号有读者留言,说有没有什么办法查询到进项税发票上的具体税收分类编码? 当你拿到一张发票. 你可以看到,发票的名称前面有个*号包着的内容,这个就是发票编码大类简称. 自2016年5月1日起,纳入新系 ...

  • VLOOKUP如何返回多个值?

    今天我来谈谈大家最熟悉的函数,也是使用频率最高的函数,基本是每天都在使用-VLOOKUP 文末有彩蛋 大家都知道VLOOKUP可以根据条件,查找并返回满足条件对应列的值,但是他的设定只是只能返回第一个 ...

  • 只会VLOOKUP?查询方法合集真香!!

    今天我们也谈函数 VLOOKUP基本是很多人认识Excel强大的一个入口,使用频率基本也是Excel函数中前三,基本我们就来说说查找的那点事情,除了VLOOKUP,我们还有很多选择,拓展一下思路! 方 ...

  • VLOOKUP反向查询原理详解

    VLOOKUP系列教程中的反向查找原理解析,更多视频:VLOOKUP系列教程

  • 想查询房子是不是还在自己名下?24小时自助查询机来了

    时常有读者在后台询问在哪里可以查询不动产登记信息.特别是目前登记中心为提高效率精简材料,对不动产转移登记申请不再审查婚姻关系,意味着原先登记为个人所有的不动产不需要提供婚姻状况证明就可以转移登记,特意 ...

  • 为什么测量数据分析方法都想有个基准值?

    在实施GJB5000的测量分析过程的时候,需要为每个测量项给出分析规程.但是,要为每个测量项都给出一个可操作的分析规程,难度还是很大的. 而降低难度的一个简单的方法,就是为每个测量项设定一个组织的基准 ...