Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

Microsoft Excel中的查找功能非常适合在拥有大量数据时查找所需内容。有三种常见的方法可以做到这一点;索引和匹配、VLOOKUP 和 XLOOKUP。但是有什么区别呢?

INDEX 和 MATCH、VLOOKUP 和 XLOOKUP 各自用于查找数据并返回结果。它们各自的工作方式略有不同,并且需要公式的特定语法。什么时候应该使用哪个?哪个更好?让我们看一下,以便您知道最适合您的选择。

使用 INDEX 和 MATCH

显然,INDEX 和 MATCH 组合是两个命名函数的混合。您可以查看我们的INDEX 函数和MATCH 函数的操作方法,了解单独使用它们的具体细节。

要使用这个二重奏,每个语法都是INDEX(array, row_number, column_number)and MATCH(value, array, match_type)

当您将两者结合起来时,您将拥有这样的语法:INDEX(return_array, MATCH(lookup_value, lookup_array))以最基本的形式。看一些例子是最容易的。

要在 A2 到 A8 范围内的单元格 G2 中查找值并在 B2 到 B8 范围内提供匹配结果,您可以使用以下公式:

=索引(B2:B8,匹配(G2,A2:A8))

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

如果您更喜欢插入要查找的值而不是使用单元格引用,则公式如下所示,其中 2B 是查找值:

=索引(B2:B8,匹配(“2B”,A2:A8))

我们的结果是两个公式的休斯顿。

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

如果您选择使用 INDEX 和 MATCH ,我们还有一个教程详细介绍。

使用 VLOOKUP

一段时间以来,VLOOKUP 一直是 Excel 中流行的参考函数。V 代表 Vertical,因此使用 VLOOKUP,您正在进行垂直查找,它是从左到右的。

语法是VLOOKUP(lookup_value, lookup_array, column_number, range_lookup)最后一个参数可选为 True(近似匹配)或 False(精确匹配)。

使用与 INDEX 和 MATCH 相同的数据,我们将在 A2 到 D8 范围内的单元格 G2 中查找值,并返回匹配的第二列中的值。你会使用这个公式:

=VLOOKUP(G2,A2:D8,2)

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

如您所见,使用 VLOOKUP 的结果与使用 INDEX 和 MATCH,Houston 的结果相同。不同之处在于 VLOOKUP 使用了更简单的公式。有关VLOOKUP的更多详细信息,请查看我们的操作方法。

那么为什么有人会使用 INDEX 和 MATCH 而不是 VLOOKUP 呢?答案是因为 VLOOKUP 仅在您的查找值位于所需返回值的左侧时才有效。

如果我们反过来想在第四列中查找一个值并在第二列中返回匹配的值,我们将不会收到我们想要的结果,甚至可能会收到错误。正如微软所写:

请记住,查找值应始终位于范围中的第一列,以便 VLOOKUP 正常工作。例如,如果您的查找值在单元格 C2 中,那么您的范围应以 C 开头。

INDEX 和 MATCH 涵盖了整个单元格区域或数组,即使公式有点复杂,它也是一个更强大的查找选项。

使用 XLOOKUP

XLOOKUP 是在 VLOOKUP 和对应的 HLOOKUP(水平查找)之后到达 Excel 的参考函数。XLOOKUP 和 VLOOKUP 之间的区别在于,无论查找和返回值位于单元格区域或数组中的哪个位置,XLOOKUP 都有效。

语法是XLOOKUP(lookup_value, lookup_array, return_array, not_found, match_mode, search_mode). 前三个参数是必需的,与 VLOOKUP 函数中的参数类似。XLOOKUP 最后提供了三个可选参数,用于在未找到值时给出文本结果、匹配类型的模式以及如何执行搜索的模式。

出于本文的目的,我们将专注于前三个必需的参数。

回到之前的单元格区域,我们将在 G2 中查找 A2 到 A8 范围内的值,并使用以下公式返回从 B2 到 B8 范围内的匹配值:

=XLOOKUP(G2,A2:A8,B2:B8)

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

与 INDEX 和 MATCH 以及 VLOOKUP 一样,我们的公式返回休斯顿。

我们还可以使用第四列中的值作为查找值,并在第二列中接收正确的结果:

=XLOOKUP(20745,D2:D8,B2:B8)

Microsoft Excel 中的 INDEX 和 MATCH 与 VLOOKUP 与 XLOOKUP

考虑到这一点,您可以看到 XLOOKUP 是比 VLOOKUP 更好的选择,因为您可以按照自己喜欢的方式排列数据,并且仍然可以获得所需的结果。有关XLOOKUP的完整教程,请参阅我们的操作指南。

所以现在你想知道,我应该使用 XLOOKUP 还是 INDEX 和 MATCH,对吗?这里有一些要考虑的事情。

哪个更好?

如果您已经分别使用了 INDEX 和 MATCH 函数并一起使用它们来查找值,那么您可能更熟悉它们的工作原理。无论如何,如果它没有损坏,请不要修复它,并继续使用让您感到舒适的东西。

当然,如果您的数据结构可以与 VLOOKUP 一起使用,并且您已经使用该功能多年,您可以继续使用它或轻松过渡到 XLOOKUP,而无需使用 INDEX 和 MATCH。

如果您想在任何方向建立一个简单、易于构建的公式,XLOOKUP 是您的最佳选择,它可以替代 INDEX 和 MATCH。您不必担心将两个函数的参数合并为一个或重新排列数据。

最后一个考虑因素是,XLOOKUP 确实提供了这三个可选参数,它们可能会根据您的需要派上用场。

交给你了!您将在 Microsoft Excel 中使用哪个查找选项?或者,您可能会根据需要使用所有三个?无论如何,有选择是很好的!

正文完