不管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

领导发给你一个表格,需要快速根据负责人,把对应区域给匹配出来

分享3种方法,看看你更喜欢哪一种

因为这个例子是从右向左查找的,所以vlookup在逆向查找匹配时,需要搭配if函数公式来组合应用,我们输入的公式是:

=VLOOKUP(E2,IF({1,0},B:B,A:A),2,0)

通用公式:

=vlookup(查找值,if({1,0},查找列,结果列),2,0)

用起来还是偏复杂的

如果你的excel版本已经升级到了最新版本,那么就有这个升级的函数公式,使用用法是:

=xlookup(查找值,查找列,结果列)

所以我们只需要输入的公式是:

=XLOOKUP(E2,B:B,A:A)

虽然这个函数公式是最简单,也是最容易理解的,但是很多朋友们因为各种原因,可能不能升级自己的Excel版本,也就没有这个函数公式了

那我们就可以用两个函数公式组合,我们输入的公式是:

=INDEX(A:A,MATCH(E2,B:B,0))

我们按步骤来进行拆分,首先,是match函数公式,当我们输入公式:

=MATCH(E2,B:B,0)

E2单元格,在b列进行精确搜索,这样就可以找到是在第3个位置,所以返回的是一个数字

然后当我们用index(a:a,3)时,表示返回a列的第3个结果,也就是对应我们想要的负责区域

通过两个函数自由组合,就相当于查找匹配的功能了,通用用法是:

=index(结果列,match(查找值,查找列,0))

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

为什么说index+match函数查找数据比vlookup更简单?

在Excel中我们会经常碰到根据某些条件去查找出对应的数据,我们经常用到的函数就是vlookup,下面讲解index+match组合查找的这种较常见和方便的查找函数。

一、vlookup函数查找

公式=VLOOKUP(Lookup_value,table_array,col_index_num, [range_lookup])

解释=VLOOKUP(查询值,数据表,第几列,[是否精确查询])

案例:根据姓名查找出对应工号。

函数讲解:VLOOKUP(G5,A:B,2,0)

1、第一个参数查找的条件值为G5单元格,

2、第二个参数查找的区域是A:B列,

3、第三个参数2,查找的值位于查找区域的第2列,

4、第四个参数0,查找方式精确查找。

二、index与match函数精确匹配

1、index函数解析:index(array,row_num,column_num)

其中array表示我们要引用的区域,row_num表示要引用的行数,column_num表示要引用的列数,最终的结果就是引用出区域内行列交叉处的内容。

案例1:求出A列第五行的名字

函数=index(A:A,5,0),找出姓名为杨晓二。

分析:Index代表的意思是,返回区域中具体位置中的数值。第三参数0代表精确查找。

案例2:求出工号为001在B列中的位置

函数=MATCH(H6,B:B,0),找出对应的行数为2。

match函数解析:MATCH(lookup_value, lookup_array, match_type),返回指定数值在指定区域中的位置。

分析:Match函数的意思代表为查找我们要找的值,在区域内的位置。第三参数0代表精确查找。

案例3:根据姓名查找出对应的工号

函数=INDEX(B:B,MATCH(G6,A:A,0))

解析:

我们要查找的是工号B列,match函数根据姓名返回对应的所在行数,最终Index函数通过mathc查找出来的行数返回姓名所对应的工号。

现在你学会如何搭配使用者两个函数了吗?

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。