Vlookup函数公式在工作中,有2个痛点,导致使用起来不太方便,但是如果我们使用INDEX+MATCH函数组合,将非常快速就能解决,我们以工作中的实例来说明
痛点1:无法从右向左查找第1个是从右向左查找匹配的时候,如下所示例子,我们需要根据姓名,查找匹配编号

如果要用VLOOKUP,就要搭配HSTACK函数公式,我们使用的公式是:
=VLOOKUP(F2,HSTACK(B:B,A:A),2,0)
通过HSTACK公式,将B列放在前面,将A列放在后面,组成一个新数组

如果我们知道INDEX+MATCH函数公式用法,就相当简单了
所以我们用MATCH函数的精确查找匹配,找到对应姓名所在的行号
输入的公式是:=MATCH(F2,B:B,0)
表示F2单元格,在B列中,精确查找,所以能找到在第5行

当我们把行号都列出来之后,我们就要用到定位公式,=INDEX(结果列,行号)
当我们输入=INDEX(A:A,5),表示获取A列的第5行的值
这里我们输入的组合公式是:=INDEX(A:A,MATCH(F2,B:B,0))
就能获取A列对应序号的值

万能通用用法:
=INDEX(结果列,MATCH(查找值,查找列,0))
轻松得以解决。
痛点2:无法快速交叉查找匹配如下例子,原始数据是员工,每个月份的工资表数据
现在我们需要两个条件,交叉查找匹配工资数据

其实INDEX函数公式第一参数不仅仅是输入一列,还可以输入多列
例如,当我们输入公式:
=INDEX(A:E,2,3) 表示A:E列中第2行,第3列的数据,可以进行行列定位
所以我们只需要找到我们想要数据的行标和列标就可以了
两个条件,分别用MATCH函数来查找
=MATCH(I2,A:A,0)
=MATCH(J2,$1:$1,0)

所以最终我们使用的公式是:
=INDEX(A:G,MATCH(I2,A:A,0),MATCH(J2,$1:$1,0))

关于这个函数公式,你学会了么?动手试试吧!