Excel中的XLOOKUP与INDEX-MATCH(所有可能的比较)

  • Share This
Hugh West

今天我将对以下内容进行比较分析 XLOOKUP vs INDEX-MATCH功能 ǞǞǞ 在早期的版本中 ǞǞǞ ,我们习惯于使用 HLOOKUP ,在 VLOOKUP ,以及 INDEX-MATCH 然而,随着 "数据 "功能的出现,"数据 "功能的出现使我们可以在一系列的单元格中寻找一个特定的值。 办公室365 ,Excel为我们提供了一个新的、动态的函数,叫做 XLOOKUP 在这篇文章中,我将尝试比较广泛使用的函数,即 XLOOKUP INDEX-MATCH .

下载实践工作手册

为了更好地理解,获取这个样本文件。

XLOOKUP与INDEX-MATCH函数.xlsx

XLOOKUP函数简介

ǞǞǞ XLOOKUP 函数用于在一个单元格或数组的范围内找到一个特定的值。 之后,它返回相应的第一个匹配值。 当没有完全匹配时,它也显示最接近或近似的匹配值。

语法。

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode] )

争论。

  • 查询_价值 : 它是我们在范围的特定列中搜索的值。
  • 查找_数组 : 它是一个数组,我们在其中搜索 查找_值 既可以是行也可以是列。
  • Return_array: 它是一个列,从该列中可以看到相应的 查找_值 将被退回。

可选参数。

  • 如果没有找到 : 这是一个将被返回的值,如果 lookup_array 没有lookup_value。
  • 匹配_mode : 它是一个数字,代表着在一个特定的时间内,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点。 查找_值 这是一个可选的参数,它可以包含四个值。
  1. 当它是 0 , XLOOKUP 将搜索完全匹配(默认)。
  2. 当它是 1 , XLOOKUP 将首先搜索完全匹配,如果没有找到完全匹配,它将匹配下一个较小的值。
  3. 当它是 -1 , XLOOKUP 将首先搜索完全匹配,如果没有找到完全匹配,它将匹配下一个较大的值。
  4. 当它是 2 , XLOOKUP 将首先使用通配符搜索一个近似的匹配(仅适用于字符串查询值)。
  • 搜索_mode : 它是一个数字,表示在lookup_array上进行的搜索操作的类型。 这也是可选的。 它也可以有四个值。
  1. 如果它是 1 , XLOOKUP 将从上到下搜索在 lookup_array (默认)。
  2. 当它是 -1 , XLOOKUP 将从下往上搜索,在
  3. 如果它是 2 , XLOOKUP 将按升序进行二进制搜索。
  4. 当它是 -2 , XLOOKUP 将按降序进行二进制搜索。

介绍INDEX-MATCH函数

的组合。 INDEX-MATCH 函数用于从一个给定的位置获取一个值,并与源范围相匹配。

语法。

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

争论。

对于INDEX功能。

  • 阵列 :这是一个单元格的范围,我们想从中提取一个值。
  • MATCH(lookup_value,lookup_array,match_type)。 它是一个范围的行号,其中 查找_值 中的一个特定值相匹配。 lookup_array .
  • 栏目的数量。 它是数组中的一列的编号,我们想从该列中返回一个对应于 查找_值 .

对于MATCH功能。

  • Lookup_value。 这就是我们正在寻找的价值。
  • Lookup_array: 它是一个数组,我们在其中寻找 查找_值 它既可以是行也可以是列。
  • 匹配_类型。 它是一个整数,表示我们正在寻找的匹配类型。 这是可选的。
  1. 当它是 -1 , 匹配 将首先寻找一个完全匹配的。 如果没有找到完全匹配的,它将寻找下一个更大的值(默认值)(与 XLOOKUP ).

但条件是 lookup_array 必须以升序排序,否则将显示错误。

  1. 当它是 1 , 匹配 也会首先寻找一个完全匹配的。 如果没有找到完全匹配的,它将寻找下一个较小的值(与 XLOOKUP ).

但条件是 lookup_array 这次必须按降序排序,否则会显示错误。

  1. 当它是 0 , 匹配 将会搜索出一个完全匹配的结果。

阅读更多。 如何在Excel中选择特定数据(6种方法)

7 XLOOKUP和INDEX-MATCH函数使用情况的比较

现在我们已经分解了公式,让我们讨论一下这两个函数之间的一些异同。 在进入主要讨论之前,我以表格的形式展示主要内容,以方便你的讨论。

讨论要点 相似性/不相似性 解释
列的查找_阵列 相似性 两者都支持用一列作为lookup_array。
行查找_阵列 相似性 两者都支持以行作为查找数组。
没有匹配的lookup_value 差异性 XLOOKUP有默认的设置选项,不匹配lookup_value。 但INDEX-MATCH却没有。
大致匹配 部分相似性 XLOOKUP可以在没有完全匹配的情况下找出下一个较小或下一个较大的值。 INDEX-MATCH也可以这样做,但是lookup_array需要按升序或降序排序。
匹配的通配符 相似性 两者都支持匹配的通配符。
多值匹配 部分相似性 XLOOKUP可以在多个值匹配时找出第一个或最后一个值。 但INDEX-MATCH只能返回第一个匹配的值。
阵列公式 相似性 两者都支持数组公式。

1.XLOOKUP和INDEX-MATCH查询列中的值

两种功能在这方面有相似之处。 对于 XLOOKUP INDEX-MATCH ,lookup_array可以是这两个函数的一个列。 在这里,我们要找的是确切的 物理学的分数 的学生姓名在 C ell F5 , 珍妮弗-马洛 我们想从上到下搜索一下。 学生姓名 列,并返回" 未找到 ",以防没有找到匹配。

  • 对于 XLOOKUP 的公式,应用在 细胞G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • 对于 INDEX-MATCH ,使用这个公式在 细胞G5 .
=index(b5:d16,match(f5,c5:c16,0) ,3)

阅读更多。 如何在Excel中从不同的数组中匹配多个标准

2.XLOOKUP和INDEX-MATCH来查询行中的值

两种功能在这方面也有相似之处。 对于 XLOOKUP INDEX-MATCH ,在 lookup_array 也可以是两个函数的行。 为了说明问题,我们有一个新的数据集,其中的 身份证 , 名称 ,以及 物理学的分数 等级划分 .

让我们先考虑一下,这是一个非常广泛的数据集,我们不知道有多少个 等级 然后,为了找出某个学生的成绩,我们必须使用 标题行(B4:E4) 作为lookup_array,而单词" 等级 "作为 查找_值 我们可以使用以下两种方法来实现这一目标 XLOOKUP INDEX-MATCH .

  • 为了找出 第三名学生 ,在 XLOOKUP 公式将像这样在 细胞G5 .
=XLOOKUP("成绩",B4:E4,B7:E7, "未找到",0,1)

  • 对于这种情况, INDEX-MATCH 公式将是。
=INDEX(B5:E16,3,MATCH("等级",B4:E4,0))

3.XLOOKUP和INDEX-MATCH当没有找到匹配时

这两个函数在这个方面是不同的。 如果lookup_value不匹配任何在 lookup_array ,你可以设置一个固定值,在 XLOOKUP 要做到这一点,你必须将该值设置在 if_not_found 另一方面,在 "我的 "中没有这样的选项。 INDEX-MATCH 它将返回一个错误。 你必须使用 IFERROR函数 在给定的数据集中,我们将找出 学生姓名与ID100 .

  • 为此,请使用以下方法 XLOOKUP 公式中的 细胞G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • 另一方面,应用这个 INDEX-MATCH 公式。
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • 由于它返回一个错误,你必须使用一个 误差(IFERROR 函数来处理这个错误。
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "未找到")

类似读物

  • Excel INDEX MATCH返回一个单元格中的多个值
  • Excel INDEX-MATCH公式水平返回多个数值
  • 如何在Excel中使用INDEX-MATCH公式来生成多个结果
  • [修复!]在Excel中INDEX MATCH没有返回正确的值(5个原因)。
  • 如何在Excel中使用INDEX MATCH代替VLOOKUP(3种方法)?

4. 近似匹配情况下的XLOOKUP和INDEX-MATCH

两种功能在这方面有部分相似之处。 在 XLOOKUP 函数,如果 查找_值 中的任何值不匹配。 lookup_array ,你可以修改公式以返回下一个较小的或下一个较大的值。 设置参数 匹配类型 -1 如果你想要下一个更小的值,并将其设置为 1 如果你想得到下一个更大的值。

例如,我们将找出分数为 50 或下一个更大的标记。

  • 要找到这个值,请应用以下方法 XLOOKUP 公式。
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • 正如你所看到的,没有一个学生的分数是 50 这就是为什么它显示的是紧随其后的那一个。 50 , 51 德斯蒙德-海斯 .

中也有同样的选项。 INDEX-MATCH 但不足之处是,如果你想得到下一个较大的值,你必须对lookup_array进行降序排序。 否则,它将返回一个错误。 而要得到下一个较小的值,你必须以升序排序。

  • 首先,将这个公式插入到 细胞G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • 结果,你会看到,结果显示的是一个 #N/A 错误。
  • 因此,将 细胞范围D5:D16 按升序排列,你将得到正确的值。

特别说明。 XLOOKUP 功能。 -1 对下一个更小的值起作用,但在 INDEX-MATCH , -1 对下一个较大的值起作用。 同样,在 XLOOKUP 函数中,1对下一个较大的值有效,但在INDEX-MATCH中。 1 对下一个更小的值起作用。

阅读更多。 如何使用INDEX和匹配进行部分匹配(2种方法)

5. 匹配通配符情况下的XLOOKUP和INDEX-MATCH

两种功能在这一方面有相似之处。 The XLOOKUP INDEX-MATCH ,都支持 野生动物 在这里,我们将找出任何有""的学生。 马洛 "让我们按照以下步骤来看看 XLOOKUP VS INDEX-MATCH 比较。

  • 首先,应用这个 XLOOKUP 公式中的 细胞G5 来获得输出。
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

请注意。 若要在下列情况下使用通配符 XLOOKUP ,你必须设置 匹配类型 争论到 2 否则,它将无法工作。

  • 另一方面,在 INDEX-MATCH 完成相同任务的公式将是这样的。
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

阅读更多。 在Excel中用通配符进行索引匹配的多重标准(完整指南)。

6.XLOOKUP和INDEX-MATCH 当多个值与查询值匹配时

这个例子显示 XLOOKUP VS INDEX-MATCH 在这一点上,两个函数也有部分相似之处。 XLOOKUP INDEX-MATCH 中的多个值时,两者都只返回一个值。 lookup_array 匹配 查找_值 但在 XLOOKUP 函数,你可以修改搜索以获得第一个或最后一个匹配值。 要获得第一个匹配值,请设置 搜索_类型 争论到 1 为了得到最后一个匹配的值,请设置 搜索_类型 争论到 -1 但在 INDEX-MATCH 你没有选择,你将只得到第一个匹配的值。

  • 为了得到第一个得到的学生 100 ,你可以使用这个 XLOOKUP 公式中的 细胞G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • 随之而来的是,你将得到最后一个学生与 100 使用这个 XLOOKUP 公式。
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • 相反,你将只得到与此匹配的第一个值 INDEX-MATCH 公式。
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7.多个查询值情况下的XLOOKUP和INDEX-MATCH

在这个例子中,我们将展示 XLOOKUP VS INDEX-MATCH 在这一点上,两个函数有相似之处。 两者都允许多个 查找值 (阵列公式)。

  • 对于 XLOOKUP 函数,下面的公式会起作用。
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • 那么,对于 INDEX-MATCH ,下面的函数也会起作用。
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

XLOOKUP函数的优点和缺点

使用这些方法有一定的优势和劣势。 XLOOKUP 让我们简单地看看它们的功能。

优势

  • 为没有匹配的情况设置一个默认值。
  • 可以搜索到近似的匹配,而不需要对其进行排序。 lookup_array .
  • 可以从第一个单元格和最后一个单元格进行搜索。 lookup_array .

劣势

  • 工作速度比 INDEX-MATCH 功能。
  • 可用于 办公室365 只有。

INDEX-MATCH函数的优势和劣势

ǞǞǞ INDEX-MATCH 职能部门也得到了以下一些优点和缺点。

优势

  • 工作速度比 XLOOKUP 功能。
  • 可在老 ǞǞǞ 版本。

劣势

  • 当没有找到匹配的时候,不能处理错误。
  • 需要 lookup_array 来进行排序,以获得近似的匹配。
  • 当多个值匹配时,只返回第一个值。 查找_值 .

总结

最后,我们在长篇文章的结尾处。 在这里,我们试图创建一个比较分析的 XLOOKUP VS INDEX-MATCH 让我们知道你在这方面的深刻建议。 关注 ǞǞǞ 获取更多教程。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.