INDEX函数MATCH函数是Excel高手最为青睐的查询函数组合。INDEX函数返回给定序号的单元格数据;MATCH函数返回给定内容的所在位置序号。两个函数相辅相成,组合使用可更高效地完成更多的查询工作。

还有两个查询类函数值得一提,VLOOKUP函数和HLOOKUP函数。但它们只适用单向查询(有关这两个函数的知识,请参阅《VLOOKUP》)。VLOOKUP函数还有一个天生的缺陷,就是要搜索的列必须是区域范围内的第一列。HLOOKUP函数也一样,要搜索的行必须是区域范围内的第一行。

INDEX函数与MATCH函数则不受这个限制。

INDEX函数

INDEX函数:通过指定的序号,返回区域范围中对应单元格的内容。

aggregate match有值 match,index_函数返回

使用语法1:从单行或单列返回对应序号的内容

INDEX(行或列区域范围,序号)

aggregate match有值 match,index_搜索_02

如上图,=INDEX(E2:E15,3),将返回E2:E25区域(单列)中的第3行对应的数据。

aggregate match有值 match,index_aggregate match有值_03

若公式改为:=INDEX(E2:L2,4),则返回E2:L2区域(单行)中的第4列对应的数据。

使用语法2:从一个区域返回对应行号和列号的内容

INDEX(区域范围,行序号,列序号)

aggregate match有值 match,index_搜索_04

如上图,=INDEX(D2:F15,4,2),将返回D2:F15区域中的第4行第2列对应的数据。

MATCH函数

MATCH函数:通过给定的内容,查询它在区域范围中的位置序号。

aggregate match有值 match,index_aggregate match有值_05

使用语法MATCH(要查找的内容,查找的范围,匹配方式)

提示:

(1)MATCH函数中,查找的范围仅限于单行或单列。

(2)匹配方式:1 - 小于,0 - 精确匹配,-1 - 大于。

aggregate match有值 match,index_搜索_06

如上图,=MATCH("王娟",E2:E15,0),将在E2:E15区域中精确查找“王娟”,并返回其所在序号。

如果要查找88分是属于哪个等级,可输入公式:

=INDEX(N2:O6,MATCH(N8,N2:N6,1),2)

aggregate match有值 match,index_aggregate match有值_07

其中内嵌的MATCH函数返回了小于88分的最大值(即80分)对应的行序列号。

小 结

我们可以将INDEX函数使用方式表示为:

INDEX(查询范围,指定行序号,指定列序号)

而“指定行序号”和“指定列序号”可由MATCH函数来帮助获得。