不管vlookup会不会,都要学的index+match组合公式!
在工作中,可以说几乎每天都要遇到查找匹配问题,都要用到vlookup函数公式,但是有时候vlookup函数公式确实不太方便,举个例子,左边是公司的工资表数据,我们要查找工资情况,我们会输入公式:
=VLOOKUP(F2,B:D,3,0)
但是经常我们会对原始表格进行修改,比如我们在原始表格部门前面插入了新的一列,工龄列。这个时候之前设置好的vlookup函数公式就会出错,又要重新进行设置
表格里面引用数据比较多的时候,更为麻烦,又或者说我们需要根据员工姓名来查找员工编号的时候,这就是一个从右向左的逆向查找,用vlookup也很不方便
所以说我们要学会index+match组合函数公式,这样的话,既使新增列,删除列,逆向查找等操作,都不会影响我们的公式结果
万能能用公式:
=index(结果列,match(查找值,查找列,0))
所以说如果我们需要根据员工姓名来查找员工编号的话,使用的公式就是:
=INDEX(A:A,MATCH(G2,B:B,0))
如果说我们需要根据员工性别,来查找工资的话,那么查找值,还是g2,查找列还是b:b,结果列变成了e列,所以公式就是
=INDEX(E:E,MATCH(G2,B:B,0))
这个时候,如果我们再新增一列性别列,原来设置好的公式也不用调整,结果仍然是对的
首先是match公式理解,=MATCH(F2,B:B,0),就是从b列中查找f2孙尚香这个值,在第几行,这里从上向下数过来就是第5行。
然后我们理解index(d:d,5),就是返回d列第5行的结果值
所以index+match组合的工作原理,就是查找值,先在查找列里面查找是第几位序号,然后再用index函数引用结果列的对应序号值
=INDEX(结果列,MATCH(查找值,查找列,0))
关于这个小技巧,你学会了么?动手试试吧!
秒杀Vlookup公式,Index+Match函数组合,太厉害了
Vlookup函数公式在工作中,有2个痛点,导致使用起来不太方便,但是如果我们使用INDEX+MATCH函数组合,将非常快速就能解决,我们以工作中的实例来说明
第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))
轻松得以解决。
如下例子,原始数据是员工,每个月份的工资表数据
现在我们需要两个条件,交叉查找匹配工资数据
其实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))
关于这个函数公式,你学会了么?动手试试吧!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。