VLOOKUP函数一般情况只能提取一个数据,不管有多少重复的数据都只能提取第一个,对是第一个,我的思路是既然要提取重复数据我们就对得查找值进行处理,让查找值是唯一的,解决查找值的唯一性是关键点,我们可以使用COUNTIF($B$2:B2,B2)(解释一下,B列有很多的重复数据,我们要把重复的数据进行编号,然后在与B列的数据相连接,所有重复值后面会自动添加数字编号)来处理一下原数据,使数据变为唯一的,然后再使用VLOOUP提取是则可以使用ROW(a1)来自动生成数字,让自动生成的数据与原查找值相连,形成与处理后的数据相对应的新的查找值就可以解决问题了 。现在我们就以图文方式了的形式来介绍VLOOKUP函数查询“一对多”,也就是VLOOKUP查找值有重复,需要返回多个结果 。
VLOOKUP语法
“=VLOOKUP(查找值,数据表,序列数,[匹配条件])” 。
解释:“=VLOOKUP(找谁,去哪些单元格中查找,找到后想要第几列的数据,找个相似的还是找个一模一样的)”,最后一个参数用“1”表示找个相似的,“0”表示找个一模一样的 。
示例
例如以下表格 。
文章插图
我想要每个班级的同学名单,就用一个VLOOKUP公式拖拉一下,名单就出来啦 。
文章插图
小王:忽悠人的吧,我怎么不行呢?
文章插图
答:想让VLOOKUP函数查询后得到多个结果,就需要对原始数据做些处理 。
步骤①
添加辅助列,输入公式:
“=B2&COUNTIF($B$2:B2,B2)” 。
文章插图
本来B列数据有很多的重复值,使用了公式“=B2&COUNTIF($B$2:B2,B2)”后,所有重复值后面会自动添加数字编号,这样得到的A列数据就都是唯一值啦 。
步骤②
将VLOOKUP公式修改为:
=VLOOKUP(B$4&ROW(A1),数据!$A:$F,3,0)
然后向右向下拖动填充,就会把所有的姓名都查找出来啦 。
文章插图
公式中的“ROW(A1)”在向下拖动时,会自动得到数据“1、2、3……”,这就和数据表中的COUNTIF公式结果一一对应起来了,这样VLOOKUP实际就是按照“班级+编号”进行查询的 。
【vlookup怎么匹配重复数据?vlookup提取多个重复数据】步骤③
当表格中的所有姓名都被VLOOKUP查找出来后,再继续填充VLOOKUP公式,就会看到很多的“#N/A”,所以可以在VLOOKUP函数外嵌套一个IFERROR函数,即:
=IFERROR(VLOOKUP(B$4&ROW(A1),数据!$A:$F,3,0),"")
这样就得到了如下的数据 。
文章插图
变通
例如,想按照分数查找 。
和上面的步骤没什么两样,只要稍微修改下公式 。
也就是将辅助列公式中的“B”修改为“E” 。VLOOKUP函数不必修改,也将自动获得新的查询结果 。
推荐阅读
- painter怎么导入图片?painter怎么导出图片?
- procreate放大有马赛克怎么办?为什么procreate放大像马赛克?
- procreate笔刷有锯齿怎么办?procreate笔刷锯齿怎么处理?
- 怎么才能画好人体结构?初学者学习人体结构的秘诀!
- procreate怎么看绘画过程?procreate导出绘画过程?
- 画世界怎么调笔锋?画世界怎么把笔调成尖的?
- procreate怎么合并两个笔刷?procreate笔刷怎么合并分组?
- procreate为什么没有参考功能?procreate怎么没有参考?
- procreate新手怎么入门?procreate新手入门基础!
- Krita突然没有压感怎么办?Krita压感怎么调?