Excel Home
全球知名的Excel资源网站之一

数据查询的最佳搭档——INDEX和MATCH函数

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

先来说说INDEX函数的作用:
INDEX函数用于在一个区域中,根据指定的行、列号来返回内容。
该函数通常使用两个或是三个参数,三个参数的写法是:
INDEX(单元格区域,指定的行数,指定的列数)
例如以下公式,用于返回A1:D4单元格区域第3行和第4列交叉处的单元格,即D3单元格。
=INDEX(A1:D4,3,4)

两个参数的写法是:
INDEX(一行或一列数据,指定要返回第几个元素)
例如以下公式,用于返回A1:A4单元格区域中的第3个元素,即A3单元格的内容。
=INDEX(A1:A4,3)

接下来咱们再说说MATCH函数的作用。
MATCH 函数用于在一行或一列的查询区域中搜索指定内容,然后返回该内容在查询区域中的相对位置。
MATCH 函数有三个参数,第一个参数是查找对象,第二参数指定查找的范围,第三参数用于指定匹配方式,通常使用0,表示精确匹配。
常用写法是:
MATCH(要找谁,要查询的一行或一列区域,匹配方式)

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

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

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

 

正向查询

如下图所示,要根据D3单元格中的姓名,在A~B列查询对应的职务。
E3单元格公式为:
=INDEX(B:B,MATCH(D3,A:A,0))

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

 

逆向查询

如下图所示,要根据D3单元格中的职务,在A~B列查询对应的姓名。
E3单元格公式为:
=INDEX(A:A,MATCH(D3,B:B,0))

先使用MATCH函数,查找D3单元格的“秘书”在B列中所处的位置,得到结果为5。然后使用INDEX函数,在A列中返回第5个元素的内容,结果就是秘书对应的姓名了。
两个不同方向的查询,使用的公式套路完全一样,如果有兴趣,你可以试试上下方向的查找公式怎么写。

 

多条件查询

除了常规的单条件查找,这两个搭档也可以完成多条件的查询。
如下图所示,需要根据E列和F列的职务和年龄信息,在A~C列单元格区域中,查找职务为“秘书”,年龄为“19”岁所对应的姓名。
G3单元格公式为:
=INDEX(A:A,MATCH(E3&F3,B:B&C:C,0))
注意这里是一个数组公式,输入完成后需要将光标放到编辑框中,按住Shift+ctrl不放,再按回车完成。

先使用连接符&,将E3和F3的职务年龄合并成一个新的条件。
再使用连接符将B列和C列的信息合并成一个新的查询区域。
然后使用MATCH函数,查询出职务&年龄在查询区域中所处的位置8。
最后用INDEX函数,得到A列第8个元素的内容,最终完成两个条件的数据查询。

今天的练习文件在此:
http://caiyun.139.com/front/#/detail?linkID=1B5CwEnE06tIC

赞(246)
未经允许不得转载:ExcelHome » 数据查询的最佳搭档——INDEX和MATCH函数
分享到

关于我们联系我们
本站特聘法律顾问:李志群律师   沪ICP备11019229号-2

沪公网安备 31011702000001号

征信