Table of contents
现在,我们必须在我们的大数据库中搜索特定的信息。 ǞǞǞ 但是,手动搜索它是很烦人的。 一个合作的公式 INDEX和MATCH函数 它还可以进行高级查询。 在这篇文章中,我们将向你展示简单而有效的方法来 使用 的 INDEX MATCH公式 在 丞相。
为了说明这一点,我们将使用一个样本数据集作为例子。 例如,以下数据集代表了 业务员 , 产品 ,以及 净销售额 一个公司的。
下载实践工作手册
下载以下工作手册,自己练习。
使用INDEX-MATCH.xlsxINDEX功能介绍
- 语法
INDEX(array, row_num,[column_num])
- 论点
阵列。 它将从哪里提取数据的范围。
row_num: 要返回的数据的行号。
[column_num]: 要返回的数据的列号。
- 目标
INDEX函数 检索位于给定范围内特定行和列的交叉点的单元格的值或引用。
在以下数据集中。 Nate Sales 17000 是存在于 第四届 行和 第三届 列的范围内 B5:D10 .
MATCH函数简介
- 语法
MATCH(lookup_value,lookup_array,[match_type])
- 论点
lookup_value: 要在数据范围内搜索的值。
lookup_array : 数据范围,它将从这里搜索到 查找_值 .
[match_type]: - 1/0/1 . -1 代表一个大于精确匹配的值。 0 为完全匹配,而 1 为小于精确匹配的值。
- 目标
MATCH功能 的相对位置。 查找_值 在一个数组中。
在下面的数据集中, F4 单元格值为 弗兰克 ( 查找_值 )和 弗兰克 是存在于 第三届 的位置。 业务员 部分( B5:B10 ).所以它返回 3 .
在Excel中使用INDEX MATCH公式的9个例子
现在,我们将创建一个结合这两个函数的公式。 我们已经知道 索引 函数需要行和列的数字来检索数据,而 匹配 所以,我们可以很容易地把它们的参数放在一起,得到行和列的数字。
在下面的数据集中, 索引 函数将从 B5:D10 ...... 匹配 函数返回行数 3 我们已经指定了列号。 因此,该公式将带出存在于 第三届 行和 第三届 列的范围内。
1.在Excel中用INDEX MATCH进行双向查询
双向 查询是指使用以下方法获取行号和列号 匹配 所需的函数。 索引 因此,请按照下面的步骤来执行这项任务。
步骤。
- 首先,选择单元格 F6 .
- 然后,输入公式。
=index(b5:d10,match(f5,b5:b10,0),match(f4,b4:d4,0))
- 最后,按 进入 它就会返回这个值。
🔎 这个公式是如何工作的?
- match(f5,b5:b10,0)
ǞǞǞ 匹配 公式回报 3 至 索引 作为行号。
- match(f4,b4:d4,0))
这 匹配 公式回报 3 至 索引 作为列号。
- index(b5:d10,match(f5,b5:b10,0),match(f4,b4:d4,0))
最后是 索引 函数返回 13500 这是在 第三届 行和 第三届 列的范围内 B5:D10 .
阅读更多:Excel中带有INDEX和MATCH函数的SUMPRODUCT
2.INDEX MATCH公式向左查询
的主要优势是 指数匹配 公式是,它可以从查找值的左侧检索数据。 因此,要学会进行操作的步骤。
步骤。
- 首先,选择单元格 F5 .
- 接下来,输入公式。
=index(b5:b10,match(f4,c5:c10,0))
- 最后,按 进入 它就会返回这个值。
这里,该公式返回 业务员的 名称,该名称位于查找值的左侧 电缆 .
🔎 这个公式是如何工作的?
- match(f4,c5:c10,0)
ǞǞǞ 匹配 公式回报 1 至 索引 作为行号。
- index(b5:b10,match(f4,c5:c10,0))
最后是 索引 函数返回 威勒姆 这是在 第一届 行的范围内 B5:B10 .
阅读更多。 如何在Excel中使用INDEX MATCH公式(9个例子)
3.使用INDEX MATCH公式进行大小写查询
ǞǞǞ 匹配 函数默认是不区分大小写的。 然而,我们可以应用 确切的功能 因此,请按照以下过程进行查询 使用INDEX MATCH公式 来执行 案例 - 敏感的查询 在 ǞǞǞ .
步骤。
- 在开始时,选择单元格 F5 .
- 之后,输入公式。
=index(d5:d10,match(true,exact(f4,b5:b10),0))
- 最后,按 进入 来返回该值。
🔎 这个公式是如何工作的?
- exact(f4,b5:b10)
ǞǞǞ 精确 函数返回 为真 只针对第一个数据( B5 )的范围内 B5:B10 和 失败 为他人服务。
- match(true,exact(f4,b5:b10),0)
这个 匹配 公式回报 1 至 索引 作为行号。
- index(d5:d10,match(true,exact(f4,b5:b10),0))
最后是 索引 函数返回 2600 这是在 第一届 行的范围内 D5:D10 .
阅读更多。 在Excel中使用INDEX-MATCH公式的例子(8种方法)
4.使用INDEX MATCH进行最接近的匹配
有时,我们可能无法在查询数组中获得完全匹配的查询值。 在这种情况下,我们要搜索最接近的匹配。 这尤其发生在数字查询值中。 现在,学习如何找到 最接近的比赛 使用 指数匹配 公式。
步骤。
- 选择单元格 F5 起初。
- 然后,输入公式。
=index(c5:c10,match(min(abs(d5:d10-f4)),abs(d5:d10-f4,0))
- 最后,按 进入 .
🔎 这个公式是如何工作的?
- ABS(D5:D10-F4)
首先,该公式减去了 F4 单元格值的范围 D5:D10 来产生差异,我们使用 ABS功能 将负面结果转化为正面结果。
- min(abs(d5:d10-f4))
然后。 闵氏函数 返回最小的差值,该值为 500 .
- match(min(abs(d5:d10-f4)),abs(d5:d10-f4), 0)
min(abs(d5:d10-f4)) 公式的输出是查询值( 500 ) 为 匹配 函数,查找数组为 ABS(D5:D10-F4) 公式输出。
- index(c5:c10,match(min(abs(d5:d10-f4)),abs(d5:d10-f4,0))
最终, 索引 函数返回 路由器 因为它有最接近的 净销售额 达到 5000 .
5.用INDEX MATCH公式进行多条件查询
最有用的操作之一是用 指数匹配 公式是,它可以根据多个条件进行查找。 按照下面的步骤,我们可以看到如何获得 净销售额 基于 业务员 名称和 产品 .
步骤。
- 首先,选择细胞 F6 来输入公式。
=INDEX(D5:D10,MATCH(1,(F4=B5:B10)*(F5=C5:C10),0))
- 随后,按 进入 你就会得到这个结果。
🔎 这个公式是如何工作的?
- MATCH(1,(F4=B5:B10)*(F5=C5:C10),0)
ǞǞǞ 匹配 公式回报 2 至 索引 这里,我们通过应用布尔逻辑来比较多个标准。
- INDEX(D5:D10,MATCH(1,(F4=B5:B10)*(F5=C5:C10),0))
最后是 索引 函数返回 11500 这是在 第2次 行的范围内 D5:D10 .
阅读更多。 如何在Excel中使用INDEX-MATCH公式来生成多个结果
类似读物
- 在Excel中使用INDEX、MATCH和COUNTIF函数的多重标准
- 如何在Excel VBA中使用INDEX & MATCH工作表函数
- Excel索引 匹配单个/多个标准与单个/多个结果
- 在Excel中跨多个工作表的索引匹配(有备选方案)。
- Excel中带有INDEX和MATCH函数的SUMIF
6.Excel中带有通配符的INDEX MATCH公式
我们可以使用一个星号( ),它是一个 通配符字符 请看下面的例子来执行这个任务。 我们有 ナイト 在细胞中 F4 不存在 销售员 命名的,但我们有 内森 ,这是一个部分匹配。
步骤。
- 首先,选择单元格 F5 .
- 之后,输入公式。
=INDEX(D5:D10,MATCH(F4&"*",B5:B10,0))
- 最后,按 进入 并且它将返回 净销售额 的 内森 .
🔎 这个公式是如何工作的?
- MATCH(F4& "*",B5:B10,0)
F4& "*" 是我们的查询值,其中星号是一个通配符,代表任何数量的字符,以 ナイト 该公式返回 4 .
- INDEX(D5:D10,MATCH(F4& "*",B5:B10,0))
最后是 索引 函数返回 17000 这是在 第四届 行的范围内 D5:D10 .
阅读更多。 在Excel中用通配符进行索引匹配的多重标准(完整指南)。
7.在Excel中应用INDEX MATCH进行三向查询
的先进使用。 指数匹配 公式是关于执行一个 三种方式 的另一种语法。 索引 功能是。
INDEX (array, row_num, [col_num], [area_num])
在哪里? [区域_编号] ( 可选 )意味着如果数组参数是多个范围,这个数字将从所有范围中选择特定的参考。
在这个例子中,我们将使用这个可选的参数来返回所需的数据,从任何一个月的 一月 , 2月 ,以及 三月 因此,请遵循以下步骤 使用 的 INDEX MATCH公式 在 ǞǞǞ 为 三种方式 查询 .
步骤。
- 首先,选择细胞 F7 来输入公式。
=INDEX((B6:D7,B11:D12,B16:D17),MATCH(F5,B6:B7,0),MATCH(F6,B5:D5,0),(IF(F4="一月",1,IF(F4="二月",2,3 ))))
- 接下来,按 进入 .因此,你会看到输出。
🔎 这个公式是如何工作的?
- IF(F4="一月",1,IF(F4="二月",2,3))
IF功能 将返回 2 因为我们的既定月份是 2月 ...... 索引 函数将从 第2次 阵列,即 2月 .
- match(f6,b5:d5,0)
ǞǞǞ 匹配 函数返回 3 .
- match(f5,b6:b7,0)
这个 匹配 函数返回 2 .
- INDEX((B6:D7,B11:D12,B16:D17),MATCH(F5,B6:B7,0),MATCH(F6,B5:D5,0),(IF(F4="一月",1,IF(F4="二月",2,3 ))))
最后是 索引 函数返回 12500 的相交处,即在 第三届 栏目和 第2次 的行 第2次 阵列。
阅读更多。 如何在Excel中使用INDEX MATCH代替VLOOKUP(3种方法)?
8.用INDEX MATCH公式检索整个行/列的值
的另一个应用是 指数匹配 公式是从整个行或列中检索数据。 因此,要学习执行该操作的程序。
步骤。
- 在开始时,选择单元格 F5 在这里,输入公式。
=index(b5:d10,match(f4,b5:b10,0) ,0)
- 之后,按 进入 它将溢出整个的数据 第三届 行的范围内 B5:D10 .
🔎 这个公式是如何工作的?
- match(f4,b5:b10,0)
ǞǞǞ 匹配 公式回报 3 至 索引 作为行号。
- index(b5:d10,match(f4,b5:b10,0) ,0)
ǞǞǞ 索引 函数返回所有在 第三届 行的范围内 B5:D10 .
阅读更多。 在Excel中对多条行进行索引匹配求和(3种方法)
9.使用INDEX MATCH查找近似匹配
ǞǞǞ 指数匹配 在这个例子中,我们将找到一个近似的乘积。 净销售额 的 6000 .因此,请遵循这个过程。
步骤。
- 首先,点击单元格 F5 .
- 然后,输入公式。
=index(c5:c10,match(f4,d5:d10,1),1)
- 最后,按 进入 .
注意: 数据应该是在 上升中 或 下降 为了使这个公式发挥作用。
🔎 这个公式是如何工作的?
- match(f4,d5:d10,1)
ǞǞǞ 匹配 公式使用 1 作为匹配类型参数,它将返回小于或等于查询值的最大值。 6000 .在这里,它将返回 2 .
- index(c5:c10,match(f4,d5:d10,1) ,1)
ǞǞǞ 索引 函数返回一个 路由器 在 第2次 行的范围内 C5:C10 .
阅读更多。 如何使用INDEX和匹配进行部分匹配(2种方法)
为什么INDEX MATCH比VLOOKUP更有好处?
1.INDEX MATCH公式查看查询值的左右两边
VLOOKUP函数 不能从查找值的左边获取数据。 但 指数匹配 公式可以做到这一点。
2.INDEX MATCH在垂直和水平范围内工作
VLOOKUP 只能从一个垂直数组中检索数据,而 指数匹配 可以通过垂直数据以及水平数据。
3.VLOOKUP在下降数据时失败
ǞǞǞ VLOOKUP 函数不能处理降序的数据,当它涉及到近似匹配时。
4.使用INDEX MATCH的公式略微快一些
VLOOKUP 在处理太多的行和列时,是一个有点慢的函数。
5.独立于实际柱位
VLOOKUP 并不独立于实际列的位置。 因此,每当你删除一列时, VLOOKUP 函数将提供一个不正确的结果。
6.VLOOKUP不难使用
ǞǞǞ VLOOKUP 函数相比之下,更容易使用。 指数匹配 而我们大部分的查询操作都可以用 VLOOKUP 很容易。
阅读更多。 INDEX MATCH与VLOOKUP功能对比(9个例子)
总结
从今以后,你将能够 使用 的 INDEX MATCH公式 在 ǞǞǞ 继续使用这些方法,如果你有更多的方法,请让我们知道。 如果你有任何意见、建议或疑问,别忘了在下面的评论区提出。