别再用Vlookup了,试试index+match组合查询,比它好用太多了

常用函数的第五篇来了!这节我们来学习下index与match函数,这个组合相信很多人都用过,很多喜欢将index+match与Vlookup进行比较,我觉得他们各有优点,但是如果非要选择一个话,我会选择 index+match因为它更加灵活,功能也更加强大!下面我们就来学习下吧

Index函数:根据数据区域中的行列号返回区域中对应的值

语法:=INDEX(array, row_num, [column_num])

如果第一参数仅仅只有一行或者一列,我们就能省略对应的行列标号。

如需下图,我们想要找到武则天的数学成绩

公式:=INDEX(A1:D9,5,3)

在A1:D9这个数据区域中,第五行(武则天)与第三列(数学)它们的交叉处,就是我们需要的结果

语法:=MATCH(lookup_value, lookup_array, [match_type])

如下图,我们想要查找【武则天】这姓名在第一列的位置

公式:=MATCH(F3,A1:A9,0)

结果为5,就表示在A1:A9这一列数据中,【武则天】是在第五个位置的

match函数是查找数据的位置,而index函数它是根据位置来返回对应的数据。所以我们只需要将match函数嵌套在match函数中就能达到数据查询的效果。下面来看下它都能解决哪些问题吧

如下图,我们想要查找张飞的数学成绩

公式:=INDEX(D1:D9,MATCH(G3,A1:A9,0))

这个案例是index+match最常见的使用方法,将第一参数设置为需要返回的结果列,就可以将第三参数省略掉,我们仅仅只需要使用mtach函数来确定数据的位置即可

Index+match的反向查找与常规查询是一样的操作,它既可以查找右侧数据,也能查找左侧数据,非常灵活

如下图,我们想要查找3212这个学号对应的姓名

公式:=INDEX(A1:A9,MATCH(G3,B1:B9,0))

Index+match在进行数据查询的时候,如果遇到重复值也是仅仅只能返回第一个找到结果,这个时候我们就需要再增加一个条件让结果变得唯一。

如下图,我们想要找下【2班韩信】的英语成绩

公式:=INDEX(E2:E10,MATCH(H4&I4,B2:B10&C2:C10,0))

这个公式本质上还是一个index+match的常规查询的格式,关键是match函数的第一跟第二参数

连接后,我们的查找值就变为了【2班韩信】这个值是唯一的,是可以找到对应的结果的

index+match也是可以实现一次查找多行多列数据的,我们只需要在第一个单元格中输入公式,然后向下向右填充即可

公式:=INDEX($B$2:$H$11,MATCH($J3,$B$2:$B$11,0),MATCH(K$2,$B$2:$H$2,0))

现在第一参数是多列数据,所以我们只需要使用2次match函数找到对应的行列号即可

以上就是这一节的全部内容,其实关于index+match还有很多高阶的操作,只不过太难了,不建议大家学,现在新函数层数不穷,很多高阶的函数操作都已经被淘汰掉了,我的宗旨就是:什么简单学什么,怎么方便怎么来!

我是Excel从零到一,关注我,持续分享更多Excel技巧

以上内容在我的专栏中都有讲到

如果你想要学习Excel,提高工作效率

这里↓↓↓

Excel如何实现单条件的一对多查找呢

今天我和大家分享的是:Excel如何实现单条件的一对多查找呢,详见下面的动图演示。

我们知道在工作当中的经常用到的查找函数是vlookup,还有一个是index和match的组合嵌套,但是这两种函数只能返回一个查找值,那么如果我们想获得满足条件的多个结果,如何做到呢?

(方方格子插件。)

1.打开工作表,我们看到了产品的一些信息,此时我们需要做的是,查找产品电视的单价信息。

2.我可以看到在数据源里面,电视所含有的单价信息一共有6条。

3.此时呢,我们输入=mlookup函数。

4.然后分别选择第一个参数产品电视,第二参数选择数据源区域,

5.第三个参数选择单价在数据源区域所在的列。最后一个参数填写-1,也就是返回所有查找到的结果。

6.然后我们单击enter确定即可看到所有的电视单价信息。

如果该经验帮到了你,请记得分享与点赞。

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

关于这个小技巧,你学会了么?动手试试吧!

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

点赞 0
收藏 0

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