今天要讲的就是只用普通的简单公式,就可以帮你实现VLOOKUP一对多查找的技术。
问题描述
下图左侧每个产品分类里面都包含多个品牌名称,要求按照D2选择的产品分类,在E列罗列出所有符合D2条件的数据。
后面当然会告诉你解决方案,但建议你请先自己思考1分钟,不用数组公式的话怎么做?
效果演示
下图是我做好公式以后的效果演示,便于你理解案例要求和捋顺思路。
右侧根据产品分类的条件切换,品牌名称下方可以查找到所有符合分类条件的品牌。
右侧的黄色单元格是VLOOKUP公式所在位置,根据条件切换自动更新计算结果。
(下图为gif动图演示)
从上面的动图演示可见,无论条件怎样变动,公式都可以很智能的把你想要的多个匹配结果查找出来。
在看下面的解决方案之前,请你先独立思考,带着思路和问题继续向下看。
在数据源左侧构建辅助列,B2单元格公式如下:
=COUNTIF(C$2:C2,C2)
如下图所示
A2单元格公式如下:
=C2&B2
辅助列做好以后,查找条件具备,就可以使用VLOOKUP进行查找了。
到了这一步,你应该已经想到公式怎么写了,继续向下看。
解决方案
思路提示:前面构建好的辅助列里面已经包含了联合条件,现在只需VLOOKUP查找条件也用联合条件查询,即VLOOKUP函数的第一参数。
这里我们使用ROW函数来进行辅助搭配。
G2公式如下,将其向下填充:
=VLOOKUP(F$2&ROW(1:1),$A$2:$D$13,4,0)
如下图所示。
(下图为公式示意图)
一句话解析:
先用ROW函数根据公式所在位置返回不同行号,辅助VLOOKUP构建联合查询条件,然后在构建好的辅助区域进行查找,无论符合条件的数据有多少个,都可以完成返回所有结果。
这里再次强调一下关键思路,有了现成条件就要充分利用,没有现成条件就自己创造条件再上,无论多么复杂的问题都可以拆解为单个简单问题逐个击破。
暂无评论...