Table of contents
如果该单元格包含文本,我们可以使用以下组合 INDEX & MATCH函数 这是一个在Excel中非常常用的公式。 在这篇文章中,我们将通过一些优美的解释和例子来学习这两个函数组合的工作原理。
实践工作手册
下载以下工作手册和练习。
单元格包含文本.xlsxExcel INDEX函数简介
微软Excel INDEX功能 返回一个定义的数组或范围的单元格值。
语法。
=INDEX (array, row_num, [col_num], [area_num])
争论。
阵列。 单元格范围或一个常数组。
row_num: 所需范围或数组中的行数。
[col_num]: 所需范围或数组中的列号。
[ area_num]: 选定的所有范围的参考号,即 这是可选的。
Excel MATCH函数简介
微软Excel MATCH功能 用于查找一个数组或范围内的查找值的位置。 它返回一个数值。
语法。
=MATCH(lookup_value, lookup_array, [match_type])
争论。
lookup_value: 在一个查找数组或范围内的查找值。
lookup_array: 我们想在其中搜索数值的查找数组或单元格范围。
[match_type]: 这表明要执行的功能的匹配类型。 有三种类型。
完全匹配的值=0
等于或小于搜索值的最大值 =
等于或大于搜索值的最小值 = -1
9种快速组合Excel INDEX & MATCH函数的方法 如果单元格包含文本
1.使用INDEX MATCH函数进行简单查询
我们可以用 INDEX MATCH功能 用于在工作表中进行简单的列或行查询。 VLOOKUP函数 所以这个组合在这里非常有效。
1.1 用于垂直查询
假设我们有一个学生名字的数据集,其数学分数在垂直位置。 我们要在范围内查找Rob的数学分数 B4:C9 并返回单元格中的值 E5 .
步骤。
- 首先选择 细胞E5 .
- 接下来输入公式。
=INDEX($B$5:$C$9,MATCH("Rob",$B$5:$B$9,0),2)
- 现在打 进入 为结果。
➥ 公式分解
➤ MATCH("Rob",$B$5:$B$9,0)
这将在范围内搜索出完全匹配的 B5:B9 .
➤ INDEX($B$5:$C$9,MATCH("Rob",$B$5:$B$9,0),2)
这将返回范围内的值 B5:C9 .
1.2 用于水平查询
在这里,我们有相同的数据集在水平位置。 我们将在范围内寻找Rob的数学标记 B4:G5 并返回单元格中的值 B8 .
步骤。
- 首先选择 细胞B8 .
- 现在输入公式。
=INDEX($C$4:$G$5,2,MATCH("Rob",$C$4:$G$4,0))
- 最后,按 进入 来看结果。
➥ 公式分解
➤ MATCH("Rob",$C$4:$G$4,0)。
这将在范围内搜索出完全匹配的 C4: G4 .
➤ INDEX($C$4:$G$5,2,MATCH("Rob",$C$4:$G$4,0))
这将返回范围内的值 C4:G5 .
2.在左侧插入INDEX MATCH函数进行查询
为了从其左列提取查找数据的值,我们可以使用以下组合 INDEX MATCH功能 假设我们有一个数据集( B4:E9 我们将查询Rob的数学分数,并返回单元格中的值。 G5 .
步骤。
- 选择 细胞G5 .
- 然后写下这个公式。
=INDEX($B$5:$E$9,MATCH("Rob",E5:E9,0),2)
- 撞击 进入 来获得结果。
➥ 公式分解
➤ MATCH("Rob",E5:E9,0)
这将在范围内搜索出完全匹配的 E5:E9 .
➤ INDEX($B$5:$E$9,MATCH("Rob",E5:E9,0),2)
这将返回范围内的值 B5:E9 .
3.用INDEX MATCH函数进行双向查询 如果单元格包含一个文本
ǞǞǞ INDEX MATCH功能 可以很好地处理双向查询,比如从多列中提取查询数据的值。 这里我们有一个数据集( B4:E9 我们将在单元格中提取Rob的所有科目分数。 C12:E12 .
步骤。
- 在开始时,选择 细胞C12 .
- 现在输入公式。
=index($c$5:$e$9,match($b$12,$b$5:$b$9,0), match(c$11,$c$4:$e$4,0))
- 新闻 进入 最后,使用 填充手柄 到右边,以自动填充单元格。
➥ 公式分解
➤ match($b$12,$b$5:$b$9,0)
这将在范围内搜索完全匹配的Rob B5:B9 .
➤ match(c$11,$c$4:$e$4,0)
这将在范围内搜索完全匹配的科目(ENGLISH/MATHS/PHYSICS)。 C4:E4 .
➤ index($c$5:$e$9,match($b$12,$b$5:$b$9,0), match(c$11,$c$4:$e$4,0)
这将返回范围内的值 C5:E9 .
阅读更多。 Excel中的IF与INDEX-MATCH(3种合适的方法)
4.使用INDEX MATCH函数从多个标准中查找数值
有时我们需要结合查询值并从定义的数组中返回它们的全部信息。 我们可以使用 VLOOKUP函数 在这里,它需要一个帮助列。 INDEX MATCH功能 从下面的数据集中,我们想从 "Mike Hansen "的物理学分数范围中提取出来。 B4:D9 在细胞中 D12 .
步骤。
- 首先,选择 细胞D12B。
- 输入公式。
=INDEX($D$5:$D$9,MATCH($B$12&"
- 最后,点击 进入 来看结果。
➥ 公式分解
➤ MATCH($B$12&"
这将结合查询值'Mike' & 'Hansen',并在查询范围内搜索完全匹配。 $B$5:$B$9&" .
➤ INDEX($D$5:$D$9,MATCH($B$12&"
这将返回范围内的值 D5:D9 .
阅读更多。 Excel的INDEX MATCH有多个标准(4个合适的例子)。
类似读物
- Excel INDEX MATCH返回一个单元格中的多个值
- Excel INDEX-MATCH公式水平返回多个数值
- [修复!]在Excel中INDEX MATCH没有返回正确的值(5个原因)。
- INDEX MATCH与VLOOKUP功能的对比(9个例子)
- Excel中重复值的INDEX+MATCH(3种快速方法)
5.使用INDEX、MATCH和SUM函数,根据单元格中的文本获取数值
假设我们想知道学生 "Rob "的总分。 我们可以使用 SUM函数 伴随着 INDEX MATCH功能 以获得单元格中的值 C12 .
步骤。
- 选择 细胞C12 .
- 现在写下这个公式。
=sum(index($c$5:$e$9,match($b$12,$b$5:$b$9,0) ,0))
- 然后按 进入 来看结果。
➥ 公式分解
➤ match($b$12,$b$5:$b$9,0)
这将搜索到完全匹配的单元格 B12 在范围内 B5:B9 .
➤ index($c$5:$e$9,match($b$12,$b$5:$b$9,0) ,0)
这将返回范围内的值 C5:E9 ......在这里,在里面。 INDEX功能。 我们将输入' 0 这将返回该行的所有值。
➤ sum(index($c$5:$e$9,match($b$12,$b$5:$b$9,0) ,0))
这将把上一步的所有返回值加起来。
阅读更多。 在Excel的多个标准下用INDEX-MATCH函数求和
6.插入带星号的INDEX MATCH函数,与单元格文本进行部分匹配
星号 是一个Excel 通配符字符 我们用它来查询一个具有以下特征的值 INDEX MATCH功能 如果有一个 部分匹配 在下面的数据集中( B4:C9 ),我们有所有学生的全名和他们的数学分数。 还有一个数据集,其中有学生的部分姓名。 我们将找到他们的数学分数,并将其输入范围内 F5:F9 .
步骤。
- 首先,选择 细胞F5 .
- 输入公式。
=INDEX($C$5:$C$9,MATCH(E5& "*",$B$5:$B$9,0) ,1)
- 最后,点击 进入 并使用 填充手柄 来自动填充单元格。
➥ 公式分解
➤ MATCH(E5& "*",$B$5:$B$9,0)
作为一个查询值,我们将使用 E5& "*" 作为 星号 返回以名字'Bob'开始的字符和它之后的任何数量的文本字符串范围内的字符 B5:B9 .
➤ INDEX($C$5:$C$9,MATCH(E5& "*",$B$5:$B$9,0) ,1)
这将返回范围内的值 C5:C9 .
➥ 注意: 这个公式在只有一个匹配出现的情况下起作用。 在有多个匹配出现的情况下,它将只显示第一个匹配。
阅读更多。 在Excel中用通配符进行索引匹配的多重标准(完整指南)。
7.Excel INDEX MATCH函数寻找最接近的匹配点
假设我们有一个数据集( B4:C9 我们将在单元格中找到与要求的CGPA最接近的学生。 C12 这里我们将使用 INDEX & MATCH函数 与 敏 &。 ABS功能 .
步骤。
- 选择 细胞C12 .
- 现在插入公式。
=index($b$5:$b$9,match(min(abs(b12-c5:c9)),abs(b12-$c$5:$c$9,0))
- 下一篇新闻 进入 来看结果。
➥ 公式分解
➤ match(min(abs(b12-c5:c9)),abs(b12-$c$5:$c$9), 0)
这将搜索到完全匹配的单元格 B12 在范围内 B5:B9 .
➤ min(abs(b12-c5:c9)
为了确保最接近的(或多或少)数值,我们将使用 ABS功能 在这里,内部 MATCH功能 ,最小值将是查询值。
➤ abs(b12-$c$5:$c$9)
这将是在 MATCH功能 .
➤ match(min(abs(b12-c5:c9)),abs(b12-$c$5:$c$9), 0)
现在 MATCH功能 将从拥有最接近的CGPA的数组中找出学生名字的位置号。
➤ index($b$5:$b$9,match(min(abs(b12-c5:c9)),abs(b12-$c$5:$c$9,0))
这将返回该学生的姓名。
阅读更多。 在Excel中寻找最小值的INDEX-MATCH公式(4种合适的方法)
8.用INDEX & MATCH函数寻找近似匹配
这里我们有一个包含所有学生分数的数据集。 在主表旁边还有一个评分表。 我们要找出每个学生的评分范围 D5:D9 基于右边的( F5:G10 ).
步骤。
- 首先,选择 细胞D5 .
- 接下来输入公式。
=index($g$6:$g$10,match(c5,$f$6:$f$10,1) ,1)
- 最后,按 进入 并使用 填充手柄 来查看总的结果。
➥ 公式分解
➤ match(c5,$f$6:$f$10,1)
这将搜索到完全匹配的单元格 C5 在范围内 F6:F10 这意味着它将通过标记范围并返回小于或等于查询值的值。
➤ index($g$6:$g$10,match(c5,$f$6:$f$10,1),1)
这将使用上一步的位置值返回等级。
9.使用INDEX & MATCH函数进行大小写敏感的查询,如果单元格包含一个文本
对于区分大小写的查询,一般的查询是不起作用的。 在这种情况下,Excel INDEX & 匹配 职能 起着重要的作用。 假设我们有一个学生姓名和他们的CGPA的数据集。 有两个学生有相同的名字,他们之间唯一的区别是一个写成 "lily",另一个写成 "Lily"。 现在我们要提取Lily的CGPA并返回单元格中的值 C12 .
步骤。
- 选择 细胞C12 .
- 接下来输入公式。
=index($c$5:$c$9,match(true,exact(b12,b5:b9),0) ,1)
- 撞击 进入 来看结果。
➥ 公式分解
➤ exact(b12,b5:b9)
这将找到完全匹配的查询值,如果完全匹配将返回TRUE,如果不匹配将返回FALSE。
➤ match(true,exact(b12,b5:b9),0)
这将找到上一步中TRUE的位置。
➤ index($c$5:$c$9,match(true,exact(b12,b5:b9),0) ,1)
这将使用上一步的位置值返回CGPA。
总结
如果该单元格包含文本,我们可以很容易地将Excel INDEX & MATCH功能 来查询数值。 另外还有一本练习手册,可以试一试。 欢迎提出任何问题或建议任何新方法。