Microsoft Excel 中的 XLOOKUP VS INDEX-MATCH2025年3月17日 | 阅读19分钟 众所周知,在 Microsoft Excel 数据管理领域,有两个强大的函数在搜索和检索信息方面表现出色:XLOOKUP 和 INDEX-MATCH。这两个函数是 Microsoft Excel 用户寻求高效且灵活的数据查找解决方案不可或缺的工具。 XLOOKUP:一种现代方法XLOOKUP 是 Excel 相对较新的一个功能,随 Excel 365 和 Excel 2019 一起推出。该函数旨在简化在范围内搜索特定值并返回相应结果的复杂任务。XLOOKUP 特别擅长处理精确匹配和近似匹配,使其成为各种场景的通用选择。 该函数的力量在于其简洁的方法,为用户提供了一种直观的查找方式。它主要接受查找值、搜索该值的范围以及从中返回结果的相应范围。可选参数允许用户指定如果找不到查找值时要返回的值或采取的操作。XLOOKUP 函数能够轻松处理近似匹配,这增加了它的吸引力,尤其是在涉及数字范围或数据范围时。 INDEX-MATCH:经典组合众所周知,INDEX-MATCH 函数主要依赖于两个成熟函数的组合。MATCH 函数首先确定查找值在指定范围内的位置,然后 INDEX 函数从另一个范围检索相应的值。这种组合提供了更精细级别的控制,特别是在处理无法进行直接垂直查找的数据集时。此外,有效处理非连续数据的能力是 INDEX-MATCH 组合的标志,使其成为用户熟悉的灵活选择。 然而,在 XLOOKUP 和 INDEX-MATCH 之间做出选择通常取决于手头任务的具体需求。XLOOKUP 因其简洁易用而受到青睐,使其成为优先考虑直接查找方法的用户的绝佳选择。其对近似匹配的支持在处理大型数据集或范围时尤其有益,在这些情况下,精确匹配可能并不总是可行的。 INDEX-MATCH 通常在需要更复杂方法的情况下表现出色。它的灵活性使用户能够轻松地导航复杂的数据结构,并执行其他方法可能难以进行的查找。 Microsoft Excel 中的 XLOOKUP 函数是什么?XLOOKUP 是 Microsoft Excel 中一个相对较新的功能,于 2020 年推出,它革新了用户在给定数据集中搜索特定值的方式。与之前的函数不同,XLOOKUP 提供了在表中垂直和水平搜索的灵活性,允许用户在行和列中查找搜索值左侧或右侧的结果。这种新获得的功能在用户需要根据各种标准检索信息的情况下特别有用。 在我们提供的示例中,公式 =XLOOKUP (E3, A2: A6, C2: C6) 在单元格 F3 中用于定位和提取数据。分解来看,单元格 E3 代表搜索值(在本例中是学生的相应学号),单元格范围 A2:A6 是 Microsoft Excel 搜索该值的数组(通常是包含学号的列)。单元格范围 C2:C6 是通常从中检索相应结果的数组(包含分数的列)。结果 49 在此实例中,代表具有学号 1003 的相应学生获得的分数。 ![]() 此外,此公式本质上告诉 Microsoft Excel:“在 A 列中查找学号,然后返回 C 列中的相应分数。”XLOOKUP 的引入简化了此类搜索操作,使其成为专业和个人环境中处理数据集的用户的强大工具。 列出使用 Microsoft Excel 中 XLookup 的优点。众所周知,XLOOKUP 被认为是 Microsoft Excel 中的一项变革性功能,它超越了 VLOOKUP 或 HLOOKUP 等传统查找函数的限制,提供了大量优势,可以简化数据检索和分析。因此,让我们深入了解使 XLOOKUP 成为电子表格应用程序中强大功能的关键优势。
此外,XLOOKUP 被认为是双向搜索、数组返回功能、统一匹配类型处理、主动错误处理、直观的列引用以及通配符支持,这些共同使其成为一个不可或缺且用途广泛的查找函数。随着用户处理各种复杂的数据集,XLOOKUP 成为了一个强大的盟友,简化了在 Excel 中查找和检索数据的过程,同时显著提高了整体电子表格的效率。 XLOOKUP 函数Microsoft Excel 中 XLOOKUP 函数的语法如下: ![]() 此语法关联的参数如下:
如何使用 Microsoft Excel 中的 XLOOKUP 函数?众所周知,XLOOKUP 函数是 VLOOKUP 函数的改进版本。在这里,它可以搜索一个单元格范围而不是单个列。此外,我们可以手动在任何单元格中输入该函数,或通过 Microsoft Excel 功能区使用。 1. 手动在 Excel 中输入 XLOOKUP 为此,我们可以有一个 Excel 工作表,其中通常包含太阳系中所有八大行星的名称以及它们总的月球数量。 ![]() 在这个例子中,让我们找出木星的月球数量。
因此,当手动输入函数时,它简单易用。 2. 通过 Excel 功能区在 Excel 中输入 XLOOKUP XLOOKUP 的快捷方法是通过 Excel 功能区输入。然后,我们需要将光标放在我们实际需要插入公式的单元格中。
我们将弹出一个窗口,我们可以在其中输入参数。 ![]() XLOOKUP 函数可以以多种方式使用,如下例所示。 示例XLOOKUP() 函数可以凭借其多功能性和易用性高效地取代 VLOOKUP 函数。下面的示例演示了如何使用该函数查找给定范围内的任何特定值。 示例 #1 让我们看看该函数如何进行近似匹配。在下面的 XLOOKUP 示例中,我们有一些员工的姓名(A 列)和他们的薪水(B 列)。根据薪水,将确定他们的奖金百分比(C 列)。范围 F5:G11 包含不同薪资范围的奖金详细信息。 ![]() 步骤 1
之后,我们需要将公式 =XLOOKUP(B2,$F$7:$F$11,$G$7:$G$11, -1) 输入到单元格 C2 中,然后按 Enter。 ![]() 步骤 2:然后,我们需要将自动填充柄从单元格 C2 拖到单元格 C9,以便有效地获得所有员工的奖金。 ![]() 示例 #2 现在,让我们考虑下表,其中包含超市中不同商品名称及其单价。该超市通常会对某些商品提供折扣,这些商品分别列在 D 列和 E 列中。然后,我们将应用折扣百分比并计算其折扣价。 ![]() 通常,B 列和 G 列已格式化为货币和百分比,然后我们需要将折扣百分比应用于 A 列中的商品,然后高效地计算其折扣价格。 步骤 1:现在,在这里,我们正在寻找第一个商品 Grapes 的折扣。然后,我们需要分别在单元格 C2 中输入公式。 ![]() 步骤 2:现在,在此步骤中,我们可以看到 E 列包含商品名称,F 列包含折扣百分比。然后,我们只需要分别选择 E2:E6 和 F2:F6 单元格范围作为 lookup_array 和 return_array。在这里,我们将为这两个数组添加“$”以使其成为绝对引用。 ![]() 步骤 3:现在,我们需要在 C 列中获得折扣价格。
之后,我们需要应用上述更改;我们在单元格 C2 中输入公式: 现在,我们需要将自动填充柄从 C2 到 C8 的范围拖动,以获得每件商品的折扣价格。 ![]() 步骤 4:我们应该已经注意到了 #N/A 错误。通常,它主要出现在 D 列和 E 列中未指定折扣的商品上。为避免此错误,我们需要将公式的第四个参数指定为 0。 ![]() 步骤 5:现在,根据上一步,我们只需要从键盘按下 Enter 键。将自动填充柄从 C2 拖到 C8 以获得每件商品的折扣价格。同样,由于我们需要将零作为第四个参数,因此未在折扣列表中找到的商品在折扣后价格相同。 ![]() Microsoft Excel 中的 INDEX MATCH 函数众所周知,INDEX MATCH 是一个 Excel 函数,它组合了 INDEX 和 MATCH 公式,使用户能够进行高级查找。前者根据列号和行号在给定表中获取值。相反,后者返回值在行或列中的相对位置。此外,它可以跨单元格范围从左到右和从右到左查找值。因此,它被认为是 VLOOKUP 函数的更合适的替代方案。 此外,例如,我们可以使用 Microsoft Excel 中的 INDEX MATCH 函数,使用下面提到的数据,根据员工 ID 查找员工姓名。 ![]() 首先,我们将创建单元格 D2(在本例中为 11)的引用,其中包含员工 ID。接下来,我们将尝试在单元格 E2 中获取员工姓名,只需输入公式即可。 ![]() INDEX 函数根据 MATCH 函数为单元格 D2 中的员工 ID 11 提供的行数,在单元格 B2 到 B10 的范围内查找员工姓名。该函数有效地返回表数组中 ID 为 11 的员工姓名“RAM”。 ![]() 语法 - INDEX + MATCH 函数我们都知道 INDEX MATCH 通常是 INDEX 和 MATCH 公式的一个组合。因此,我们可以使用它来获取查找值的期望结果。 那么,让我们有效地逐一了解这两个函数的语法。 #1 - INDEX 函数 ![]()
#2 - MATCH 函数 MATCH 函数主要有三个参数。下面是相同的图片。 ![]()
1 = 它将主要查找小于或等于我们提供的查找值,并返回近似匹配。它还需要查找数组按升序排序(从低到高或 A 到 Z)。 0 = 它将查找并返回查找值的精确匹配,而不考虑数据如何排列或排序。 -1 = 这将查找大于或等于我们提供的查找值,并返回近似匹配。它需要查找数组按降序排序(从高到低或 Z 到 A)。 如何使用 Index + Match Excel 函数?INDEX 函数根据提供的行号和列号在数组内搜索值。
![]() 现在,我们将找出 2018 年 NH 州的销售额。 ![]() 以下是获取结果的步骤: 步骤 1:首先,我们将在单元格 K3 中输入 INDEX 函数。 ![]() 步骤 2:我们需要为数组参数选择表数组,即范围从单元格 B2:I10。 ![]() 步骤 3:现在,我们将输入行号来获取单元格值。在这里,我们试图找出 NH 州的值,因此行号将是 4(Excel 中的第 5 行)。 ![]() 步骤 4:我们也在寻找特定年份的值。因此,我们需要为表数组提供列号。在这里,我们试图找出 2018 年的值,列号也将是 4。 ![]() 这完成了 INDEX 公式。现在,关闭括号并按 Enter 键以获取结果,即 NH 的 4523。 ![]() 我们在上述步骤中手动为 Index 公式提供了行号和列号。众所周知,MATCH 函数可以获取给定行或列中值的 {位置}。首先,我们将使用 MATCH 函数查找 NH 州的行号。 步骤 1:首先,我们需要在单元格 K4 中输入 MATCH 函数。 ![]() 步骤 2:然后,对于 MATCH 函数,查找值将是“NH”。 ![]() 步骤 3:现在,在此步骤中,我们将有效地选择 A2:A10 的单元格范围作为查找数组。 ![]() 步骤 4:最后一部分是匹配类型。对于此,我们将选择 0,因为我们正在查找精确匹配。 ![]() 该函数主要返回 NH 州的行号 4。同样,我们可以为任何年份(如 2018 年)执行相同操作以获取列号。 ![]() 该函数将分别返回 2018 年的列号 4。 现在,我们可以结合使用 MATCH 函数和 INDEX 函数来动态获取行号和列号。因此,让我们找出 VB 州和 2021 年的销售额。然后,我们将分别在单元格 K7 中输入状态名称 VB,在单元格 L6 中输入年份 2021。 ![]() 接下来,我们将使用 MATCH 和 INDEX 函数自动获取 VB 州和 2021 年的行号和列号。 ![]() 示例现在,让我们看一些在 Microsoft Excel 中使用 INDEX MATCH 函数的高级示例。 示例 #1:VLOOKUP 函数的替代方案。 众所周知,VLOOKUP 是一个高级查找函数,它有其局限性。因此,我们可以使用 INDEX 和 MATCH 函数作为 Microsoft Excel 中 VLOOKUP 函数的替代方案。
![]() 在这个例子中,我们将尝试通过使用单元格引用 D2 来查找“Peter John”的年龄。在这里,查找值(年龄)位于数组的右侧,而 VLOOKUP 无法从右向左提取数据。 因此,在这种情况下,我们必须使用 INDEX MATCH 函数来克服 VLOOKUP 的局限性。 步骤 1:首先,我们需要在单元格 E2 中输入 INDEX 函数。 ![]() 步骤 2:现在,之后,我们需要为 Array 参数选择年龄列数组,即 A2:A10。 ![]() 步骤 3:现在,在此步骤中,我们只需要分别输入 MATCH 函数中的行号参数。 ![]() 步骤 4:对于查找值,我们必须选择单元格 D2。 ![]() 步骤 5:对于查找数组,我们必须选择单元格范围,即 B2:B10。 ![]() 步骤 6:最后一个参数是选择匹配类型。为此,我们将选择精确匹配,即 0。 ![]() 步骤 7:关闭括号。它将动态返回结果 17,这是 Peter John 的年龄。 ![]() 因此,我们可以有效地使用 MATCH 公式作为 INDEX 公式的支持函数,作为 VLOOKUP 函数的替代方案。 XLookup 和 Index Match 函数之间有哪些主要区别?XLookup 和 Index Match 函数之间的主要区别如下: 1. 语法
2. 方向
3. 默认行为
4. 错误处理
5. 数组处理
6. 兼容性
可以得出结论,XLOOKUP 函数更直接、用户友好,并具有内置错误处理;相比之下,INDEX-MATCH 提供了更大的灵活性,并且与更广泛的 Microsoft Excel 版本兼容,使其成为特定场景的首选。 下一主题XLS 图标 |
我们请求您订阅我们的新闻通讯以获取最新更新。