工作中,查找匹配问题基本上天天都会遇到,我们第一时间想到的就是用VLOOKUP公式来处理了,但是它不能从右向左逆向查找匹配。
举个例子,我们需要根据姓名,查找匹配工号:

因为我们VLOOKUP的第3参数,是从查找列开始,向右数,结果列在第几列,
现在我们的工号在查找列的左边,所以不方便查找匹配
1、Vlookup逆向查找通常遇到这种情况下,我们还要用VLOOKUP公式的话,就要搭配一个IF(1,0)
我们使用的公式是:
=VLOOKUP(E2,IF({1,0},B:B,A:A),2,0)
通过IF({1,0},查找列,结果列)
就可以构建一个数组,查找列在前,结果列在后,从而查找第2列的结果,就能得到

涉及到了数组公式,新手不容易上手,公式很多的情况下,表格也容易变得很卡
2、公式组合秒杀我们可以使用一个公式组合进行秒杀
它的使用用法是:
=INDEX(结果列,MATCH(查找值,查找列,0))
所以我们只需要找到查找值,查找列,结果列,直接套进去就可以得到结果
这个例子
结果列是A列
查找列是B列
查找值是E2单元格的值,
所以我们输入的公式是:
=INDEX(A:A,MATCH(E2,B:B,0))
公式向下填充就得到了所有的结果
3、组合公式原理分析我们只需要了解INDEX和MATCH这两个公式分别的用法
首先是MATCH公式
=MATCH(E2,B:B,0)
查找E2单元格的值,在B列里面查找,第3参数0表示精确查找
这里得到的结果就是2,表示结果在第2行
公式向下填充的时候,就可以查找一每个单元格的值分别在第几行

然后我们再了解INDEX公式
它的用法是:
=INDEX(整列,数字)
例如,当我们输入=INDEX(A:A,2),它就会得到A列第2行的结果,也就是A2的值:

所以当我们使用INDEX函数,分别把MATCH函数结果的序号,把A列的结果查找匹配出来,就是我们想要的工号了:

当我们把两个公式组合在一起,就得到了我们之前的公式结果了:
=INDEX(A:A,MATCH(E2,B:B,0))
也就是先用MATCH公式来找到我们每个姓名所在的行号
然后再使用INDEX公式,把结果列对应行号的值找出来,就是我们想要的结果了

你学会了么?动手试试吧!