网站搜索

如何在 Microsoft Excel 中使用 INDEX 和 MATCH


虽然 VLOOKUP 函数非常适合在 Excel 中查找值,但它有其局限性。相反,结合使用 INDEX 和 MATCH 函数,您可以在电子表格中的任何位置或方向查找值。

INDEX 函数根据您在公式中输入的位置返回一个值,而 MATCH 函数则相反并根据您输入的值返回一个位置。当您组合这些功能时,您可以找到您需要的任何数字或文本。

VLOOKUP 与 INDEX 和 MATCH

这些函数与 VLOOKUP 的区别在于 VLOOKUP 从左到右查找值。因此函数的名称; VLOOKUP 执行垂直查找。

微软最好地解释了 VLOOKUP 的工作方式:

使用 VLOOKUP 有一些限制——VLOOKUP 函数只能从左到右查找一个值。这意味着包含您查找的值的列应始终位于包含返回值的列的左侧。

微软接着说,如果你的工作表没有以 VLOOKUP 可以帮助你找到你需要的方式设置,你可以改用 INDEX 和 MATCH。那么让我们看看如何在 Excel 中使用 INDEX 和 MATCH。

INDEX 和 MATCH 函数基础

要一起使用这些函数,了解它们的用途和结构很重要。

数组形式的 INDEX 的语法是 INDEX(array, row_number, column_number) 前两个参数是必需的,第三个参数是可选的。

INDEX 查找一个位置并返回它的值。要在单元格范围 D2 到 D8 的第四行中查找值,您可以输入以下公式:

=INDEX(D2:D8,4)

结果是 20,745,因为这是我们单元格范围第四个位置的值。

有关 INDEX 的数组和引用形式以及使用此函数的其他方法的更多详细信息,请查看我们的 Excel 中的 INDEX 操作方法。

MATCH 的语法是 MATCH(value, array, match_type),其中前两个参数是必需的,第三个参数是可选的。

MATCH 查找一个值并返回它的位置。要在单元格 G2 中查找 A2 到 A8 范围内的值,您可以输入以下公式:

=MATCH(G2,A2:A8)

结果为 4,因为单元格 G2 中的值在我们的单元格区域中位于第四个位置。

有关 match_type 参数和使用此函数的其他方法的更多详细信息,请查看我们的 Excel 中 MATCH 教程。

如何在 Excel 中使用 INDEX 和 MATCH

现在您已经知道每个函数的作用及其语法,是时候让这个动态二人组开始工作了。下面,我们将分别对 INDEX 和 MATCH 使用与上面相同的数据。

您会将 MATCH 函数的公式放在 INDEX 函数的公式中,以代替要查找的位置。

要根据位置 ID 查找值(销售额),您可以使用以下公式:

=INDEX(D2:D8,MATCH(G2,A2:A8))

结果是 20,745。 MATCH 在单元格 G2 中找到 A2 到 A8 范围内的值,并将其提供给 INDEX,INDEX 在单元格 D2 到 D8 中查找结果。

让我们看另一个例子。我们想知道哪个城市的销售额符合一定数量。使用我们的工作表,您将输入以下公式:

=INDEX(B2:B8,MATCH(G5,D2:D8))

结果是休斯顿。 MATCH 在单元格 G5 中找到 D2 到 D8 范围内的值,并将其提供给 INDEX,INDEX 在单元格 B2 到 B8 中查找结果。

这是一个使用实际值而不是单元格引用的示例。我们将使用以下公式查找特定城市的价值(销售额):

=INDEX(D2:D8,MATCH("Houston",B2:B8))

在 MATCH 公式中,我们将包含查找值的单元格引用替换为从 B2 到 B8 的“Houston”的实际查找值,这为我们提供了从 D2 到 D8 的结果 20,745。

要通过使用位置 ID 而不是城市来获得相同的结果,我们只需将公式更改为:

=INDEX(D2:D8,MATCH("2B",A2:A8))

在这里,我们更改了 MATCH 公式以在单元格范围 A2 到 A8 中查找“2B”,并将该结果提供给 INDEX,然后返回 20,745。

Excel 中的基本功能(例如帮助您在单元格中添加数字或输入当前日期的功能)肯定很有帮助。但是,当您开始添加更多数据并推进数据输入或分析需求时,Excel 中的 INDEX 和 MATCH 等查找功能可能会非常有用。