打破vlookup的限制,一次查找能返回多个结果
最近有粉丝问到:Vlookup如何一次查找到多个结果 , 这个效果就是我们经常提到的一对多查询 , 之前跟大家分享过解决方法 , 但是这个粉丝非要用vlookup解决这个问题 , 想要用vlookup解决这个问题 , 首先我们必须要知道默认情况下vlookup为什么不能一次查找到多个结果 。
一、函数特性
当使用vlookup查找数据 , 遇到重复值的时候 , 函数仅仅会返回第一个找到的结果 , 这个特性不仅仅适用于vlookup , 其它我们常用的查找函数也遵循这个特性 , 这个是Excel默认的规则 , 无法更改 。 这个就是vlookup遇到重复值 , 只能返回一个结果的原因 。
如下图所示 , 我们将查找值设置为2班 , 然后使用vlookup函数来查找班级对应的姓名 , 得到的结果是成吉思汗 , 返回这个结果的原因就是因为成吉思汗在2班的第一个位置 。 所以我们想要使用vlookup函数实现一对多查询 , 就必须要构建一个不重复的查找值 , 这个查找值 , 我们可以使用countif函数来构建
文章图片
二、构建辅助列
首先我们在数据最前面插入一列空白列 , 随后将公式设置为:=COUNTIF($B$2:B2,$G$2)然后向下填充公式 , 这样的话2班的结果就是从1开始的序列 。 这个从1开始序号就是唯一值 , 可以将其作为查找值 。 跟大家简单讲解下这个公式
文章图片
公式:=COUNTIF($B$2:B2,$G$2) , COUNTIF的作用是条件计数 。
第一参数:$B$2:B2 , 计数的数据区域
第二参数:$G$2 , 计数条件
这个函数的关键点在第一参数计数的数据区域 , 在这里第一个B2加了$符号就代表绝对引用 , 向下拖动数据的时候它是不会发生变化的 , 而第二个B2没有加$符号就代表相对引用 , 向下拖动数据的时候它是会发生变化的 , 也就是说数据区域是一个单元格 , 一个单元格的增加的 , 所以才会出现分组计数的效果 。
三、实现一对多查询
上一步中我们通过使用countif为每个班级都构建了一列从1开始的序列 , 这个序列就可以作为查找值来使用 , 因为它是不重复的 , 我们可以将ROW(A1)作为vlookup的查找值 , 因为它的结果也是从1开始的序列 , 这个是时候我们可以将公式设置为:=VLOOKUP(ROW(A1),$A$1:$D$16,3,0)向下填充即可 , 这个函数非常简单 , 就是一个vlookup的常规用法 , 不过在这里查找值变为了ROW(A1) 。 如下图所示
文章图片
最后我们发现下方会有错误值出现 , 出现错误值的原因是因为 , 已经查找到了所有数据公式拉多了 , 这个时候我们可以使用IFERROR函数来屏蔽下错误值 , 最终的公式为:=IFERROR(VLOOKUP(ROW(A1),$A$1:$D$16,3,0),"")至此就设置完毕了 , 我们就可以使用一次vlookup来返回多个结果了
以上就是今天分享的全部内容 , 怎么样?你学会了吗?
【打破vlookup的限制,一次查找能返回多个结果】我是Excel从零到一 , 关注我 , 持续分享更多Excel技巧
- 无线耳机|无线耳机如何选,传输好的编码格式可达到音质无损
- 别拿华为当软柿子!任正非宣布:取消加拿大的5G授权!对于这一消息,特鲁多:让我始料未及
- 为什么瑞典能禁华为,我们不禁爱立信?未曾想到,该来的终于来了
- |网传苏州微软整体解散引关注:都是天津“惹的祸”?
- 微软|网传苏州微软整体解散引关注:都是天津“惹的祸”?
- 洗衣机|适合在外打工的互联网迷你洗衣机
- 很多用户受网络文章的影响|微信“拉黑后再删除”是不是就彻底没有关系了?
- 司马南|司马南抨击电视广告乱象,称其花样百出,是对消费者尊严的践踏
- 很多用户的快手帐号丢失之后|快手帐号丢失,凭借id号能找回吗?
- 很多用户使用微信浏览对方朋友圈时|对方的“朋友圈”显示一条横线,中间有一个圆点,是被屏蔽了吗?