小伙伴们好啊,今天和大家分享一个数据查询的最佳搭档——INDEX函数和MATCH函数。这两个函数组合,能够完成VLOOKUP函数和HLOOKUP函数的全部查找功能,并且可以实现任意方向的查询以及多条件查询等。

先来说说INDEX函数的作用:

INDEX函数用于在一个区域中,根据指定的行、列号来返回内容。

该函数通常使用两个或是三个参数,三个参数的写法是:

INDEX(单元格区域,指定的行数,指定的列数)

例如以下公式,用于返回A1:D4单元格区域第3行和第4列交叉处的单元格,即D3单元格。

=INDEX(A1:D4,3,4)

index和match函数做动图(数据查询最佳搭档)(1)

两个参数的写法是:

INDEX(一行或一列数据,指定要返回第几个元素)

例如以下公式,用于返回A1:A4单元格区域中的第3个元素,即A3单元格的内容。

=INDEX(A1:A4,3)

index和match函数做动图(数据查询最佳搭档)(2)

接下来咱们再说说MATCH函数的作用。

MATCH 函数用于在一行或一列的查询区域中搜索指定内容,然后返回该内容在查询区域中的相对位置。

MATCH 函数有三个参数,第一个参数是查找对象,第二参数指定查找的范围,第三参数用于指定匹配方式,通常使用0,表示精确匹配。

例如以下公式,就是返回C3单元格的内容在A2:A10中所处的位置,结果为7。

MATCH(C3,A2:A10,0)

注意这里的7,是指在查找内容在查询区域中所处的位置,不是说工作表的第几行。另外,如果在数据区域中包含有多个查找值,MATCH函数将只返回查找值第一次出现的位置。

index和match函数做动图(数据查询最佳搭档)(3)

看到这里,有的小伙伴可能已经对上号了,INDEX是根据位置返回内容,MATCH是返回内容在一行或一列中的位置。接下来咱们就说说这两个搭档的常见用法:

1、正向查询

如下图所示,要根据D3单元格中的姓名,在A~B列查询对应的职务。

E3单元格公式为:

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

index和match函数做动图(数据查询最佳搭档)(4)

先使用MATCH函数,查找D3单元格的“小龙女”在A列中所处的位置,得到结果为8。然后使用INDEX函数,在B列中返回第8个元素的内容,结果就是小龙女对应的职务了。

2、逆向查询

如下图所示,要根据D3单元格中的职务,在A~B列查询对应的姓名。

E3单元格公式为:

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

index和match函数做动图(数据查询最佳搭档)(5)

先使用MATCH函数,查找D3单元格的“秘书”在B列中所处的位置,得到结果为5。然后使用INDEX函数,在A列中返回第5个元素的内容,结果就是秘书对应的姓名了。

两个不同方向的查询,使用的公式套路完全一样,如果有兴趣,你可以试试上下方向的查找公式怎么写。

3、多条件查询

除了常规的单条件查找,这两个搭档也可以完成多条件的查询。

如下图所示,需要根据E列和F列的职务和年龄信息,在A~C列单元格区域中,查找职务为“秘书”,年龄为“19”岁所对应的姓名。

G3单元格公式为:

=INDEX(A:A,MATCH(E3&F3,B:B&C:C,0))

注意这里是一个数组公式,输入完成后需要将光标放到编辑框中,按住Shift ctrl不放,再按回车完成。

index和match函数做动图(数据查询最佳搭档)(6)

先使用连接符&,将E3和F3的职务年龄合并成一个新的条件。

再使用连接符将B列和C列的信息合并成一个新的查询区域。

然后使用MATCH函数,查询出职务&年龄在查询区域中所处的位置8。

最后用INDEX函数,得到A列第8个元素的内容,最终完成两个条件的数据查询。

好了,今天的内容就是这些吧,祝各位小伙伴一天好心情!

图文作者:方大云

编辑整理:祝洪忠

,