Table of contents
今天我将对以下内容进行比较分析 XLOOKUP vs INDEX-MATCH功能 在 ǞǞǞ 在早期的版本中 ǞǞǞ ,我们习惯于使用 HLOOKUP ,在 VLOOKUP ,以及 INDEX-MATCH 然而,随着 "数据 "功能的出现,"数据 "功能的出现使我们可以在一系列的单元格中寻找一个特定的值。 办公室365 ,Excel为我们提供了一个新的、动态的函数,叫做 XLOOKUP 在这篇文章中,我将尝试比较广泛使用的函数,即 XLOOKUP 和 INDEX-MATCH .
下载实践工作手册
为了更好地理解,获取这个样本文件。
XLOOKUP与INDEX-MATCH函数.xlsxXLOOKUP函数简介
ǞǞǞ XLOOKUP 函数用于在一个单元格或数组的范围内找到一个特定的值。 之后,它返回相应的第一个匹配值。 当没有完全匹配时,它也显示最接近或近似的匹配值。
语法。
=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode] )
争论。
- 查询_价值 : 它是我们在范围的特定列中搜索的值。
- 查找_数组 : 它是一个数组,我们在其中搜索 查找_值 既可以是行也可以是列。
- Return_array: 它是一个列,从该列中可以看到相应的 查找_值 将被退回。
可选参数。
- 如果没有找到 : 这是一个将被返回的值,如果 lookup_array 没有lookup_value。
- 匹配_mode : 它是一个数字,代表着在一个特定的时间内,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点,在一个特定的地点。 查找_值 这是一个可选的参数,它可以包含四个值。
- 当它是 0 , XLOOKUP 将搜索完全匹配(默认)。
- 当它是 1 , XLOOKUP 将首先搜索完全匹配,如果没有找到完全匹配,它将匹配下一个较小的值。
- 当它是 -1 , XLOOKUP 将首先搜索完全匹配,如果没有找到完全匹配,它将匹配下一个较大的值。
- 当它是 2 , XLOOKUP 将首先使用通配符搜索一个近似的匹配(仅适用于字符串查询值)。
- 搜索_mode : 它是一个数字,表示在lookup_array上进行的搜索操作的类型。 这也是可选的。 它也可以有四个值。
- 如果它是 1 , XLOOKUP 将从上到下搜索在 lookup_array (默认)。
- 当它是 -1 , XLOOKUP 将从下往上搜索,在
- 如果它是 2 , XLOOKUP 将按升序进行二进制搜索。
- 当它是 -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 , 匹配 将首先寻找一个完全匹配的。 如果没有找到完全匹配的,它将寻找下一个更大的值(默认值)(与 XLOOKUP ).
但条件是 lookup_array 必须以升序排序,否则将显示错误。
- 当它是 1 , 匹配 也会首先寻找一个完全匹配的。 如果没有找到完全匹配的,它将寻找下一个较小的值(与 XLOOKUP ).
但条件是 lookup_array 这次必须按降序排序,否则会显示错误。
- 当它是 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 按升序排列,你将得到正确的值。
阅读更多。 如何使用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)
- 另一方面,在 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 让我们知道你在这方面的深刻建议。 关注 ǞǞǞ 获取更多教程。