Table of contents
ǞǞǞ 索引 在本教程中,你将获得一个完整的概念,了解如何使用 索引 函数在Excel中单独工作,并与其他Excel函数一起工作。
你将得到Excel 索引 功能有两种形式。 阵列形式 和 参考表格 .
阵列形式的Excel INDEX函数(快速浏览)。
当你打算从一个单一的范围返回一个(或多个)值时,你将使用数组形式的 索引 功能。
参考表格中的Excel INDEX函数(快速查看)。
当你打算从多个范围返回一个(或多个)值时,你将使用引用形式的 索引 功能。
下载Excel工作簿
下载Excel工作簿,以便你可以自己练习。
使用INDEX函数.xlsxExcel中INDEX函数的介绍
功能目标。
它返回一个特定的行和列的交叉点的单元格的值或引用,在一个给定的范围内。
阵列形式的INDEX函数的语法。
=INDEX (array, row_num, [column_num])
争论。
争论 | 必须的/可选的 | 价值 |
---|---|---|
阵列 | 需要 | 传递一个单元格的范围,或一个数组常数给这个参数 |
行数_num | 需要 | 传递单元格范围内的行数或数组常数 |
col_num | 可选 | 传递单元格区域中的列号或数组常数 |
请注意。
- 如果你同时使用 行数_num 和 列_num 争论的时候, 索引 函数将返回位于 "A "和 "B "交叉点的单元格的值。 行数_num 和 列_num .
- 如果你设定 行数_num 或 列_num 你可以使用数组公式将这些值插入单元格中。
参考形式的INDEX函数的语法。
=INDEX (reference, row_num, [column_num], [area_num] )
争论。
争论 | 必须的/可选的 | 价值 |
---|---|---|
参考 | 需要 | 传递一个以上的范围或数组 |
行数_num | 需要 | 传递特定单元格范围内的行数 |
col_num | 可选 | 传递特定单元格范围内的列号 |
面积_num | 可选 | 传递你想从一组范围中选择的区域号码 |
请注意。
- 如果传递一个以上的范围或数组作为数组值,你应该同时传递 area_num。
- 如果 面积_num 不存在,则 索引 函数将在第一个范围内工作。 如果你传递一个值作为 面积_num ,在 索引 函数将在该特定范围内工作。
- 如果这些概念还不清楚,不要担心;进入下一步,我将向你展示大量的例子,以使用Excel的 索引 有效地发挥作用。
6 个单独使用 INDEX 函数以及与其他 Excel 函数一起使用的例子
例1:从列表中选择一个项目
使用Excel 索引 你可以在公式中使用硬编码的行号或列号,或者使用单元格引用。
具有单列的一维列表。
例如,如果我们想从列表中检索第3个产品,我们可以使用以下公式在 细胞C13 在 "我 "中指定了行号(换句话说,就是序列号)。 细胞C12 .
=index(b5:b10,c12)
或者。
=index(b5:b10,3)
具有单行的一维列表。
同样地,我们可以使用以下方法从单行检索一个项目 索引 功能。 指定序列号在 B列 并应用以下公式在 细胞C20 :
=index(c17:h17,,b20)
或者。
=index(c17:h17,3)
你也可以直接在公式中写入序列号,而不是使用单元格引用。 但我们建议使用单元格引用,因为它使你的工作更有活力。
从一个多维列表中检索项目。
要从多个维度的列表中检索一个项目,你必须指定行号和列号在 索引 功能。
例如,如果你想从 第三行 和 第4栏 列表中,你必须在以下公式中插入 细胞C33 .
=INDEX(C26:H29,C31,C32)
请注意。
- 如果你指定的行数超出了你的列表范围(你指定的数组在 索引 函数),会导致一个 #REF!错误 .
- 你也可以把一个数组作为一个引用来引用,并应用 索引 例如,公式 =INDEX({1,2,3;4,5,6;7,8,9;10,11,12},2,3) 将返回8。 阵列常数 {1,2,3;4,5,6;7,8,9;10,11,12} 包含由分号分隔的列。
阅读更多。 如何在Excel VBA中使用INDEX MATCH
例2:从多个列表中选择项目
你可能已经注意到了; 索引 函数还有一个可选的参数,即 [ area_num]. 有了这个,你可以在INDEX函数中输入多个数组或参考范围,并指定从哪个数组中,函数将返回一个项目或值。
例如,我们这里有两个列表,一个是为 窗户 而另一个是为 MS Office。 你可以应用以下公式,从 窗户 列表。
=INDEX((D5:G9,I5:L9),C11,E11,1)
或者。
=INDEX((D5:G9,I5:L9),C11,E11,2)
来获得一个项目,从 MS Office 列表。
请注意。
如果你不在这个公式中指定数字,Excel将考虑区域1来返回数值,默认情况下。
例3:将MATCH函数与INDEX结合起来,匹配多个标准并返回值
ǞǞǞ MATCH功能 返回一个数组中与指定值相匹配的项在指定顺序中的相对位置。 你可以通过使用 匹配 功能。
让我们看看下面的例子,我们想匹配单元格中指定的一些标准 C12 和 C13.
步骤。
- 应用以下公式在 细胞C14 :
=index(b5:e10,match(c13,b5:b10,0), match(c12,b4:e4,0))
- 新闻 进入。
阅读更多。 INDEX在Excel中的行和列中匹配多个标准
🔎 这个配方是如何工作的?
让我们来看看这个公式是如何一部分一部分地发挥作用的。
- match(c12,b4:e4,0)
输出。 3
解释一下。 ǞǞǞ 匹配 函数接受来自 细胞C12 并在范围内进行精确匹配 B4:E4 最后一个参数中的0位表示这里是完全匹配的。 最后,由于在 C12 是在第三列的 B4:E4 的范围内,该函数返回3。
- match(c13,b5:b10,0)
输出。 3
解释 : 与第一项相同 匹配 但这一次,该函数是按行工作的,因为范围是 B5:B10。 这意味着这些项目在不同的行中,但在一个单列中。
- index(b5:e10,match(c13,b5:b10,0),match(c12,b4:e4,0))
输出。 1930
解释 : 我们可以用两个MATCH部分的输出来简化公式。 因此,它将是:INDEX(B5:E10,3,3)。 因此,INDEX函数将在B5:E10范围内前往第3行,然后前往第3列。 从行-列的交叉点,它将返回这个值。
阅读更多。 如何在Excel中使用INDEX MATCH公式(9个例子)
例4:结合INDEX、MATCH和IF函数来匹配两个列表中的多个标准
现在,如果我们有两个列表,想在选择一个后匹配多个标准,该怎么做呢? 这里,我们将为你提供一个公式。
这里是我们的数据集,我们有以下的销售数据 窗户 和 MS Office 在不同的国家和年份。
我们将设定3个标准。 产品 名称。 年。 和 国家。 并检索其相应的销售数据。
步骤。
- 假设设定的标准是- 年份:2019年 , 产品: MS Office ,以及 国家:加拿大 .
- 将它们设置在单元格中 C11,C12。 和 C13 分别是。
- 现在,应用以下公式在 细胞C14 并击中 进入。
=INDEX(INDEX((D5:G9,I5:L9),,IF(C12="Windows",1,2)),MATCH(C13,B5:B9,0),MATCH(C11,INDEX((D5:G5,I5:L5),,IF(C12="Windows",1,2),0)
- 你会看到相应的销售数据在 细胞C14 现在。
- 你可以通过使用以下方法使这个公式更加动态 数据验证 .
🔎 这个配方是如何工作的?
- IF(C12="Windows",1,2))
输出 : 2
解释 :由于 细胞C12 包含 窗户 ,标准不匹配,并且 IF功能 返回 2.
- INDEX((D5:G9,I5:L9),,IF(C12="Windows",1,2))
输出 : {2017,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590,6451,3177,6711;5126,3763,3317,9940}
解释 :由于 IF(C12="Windows",1,2) 部分返回2,所以这个公式变成 index((d5:g9,i5:l9),,2) .现在, 索引 函数返回分配给它的第二个范围。
- MATCH(C11,INDEX((D5:G5,I5:L5),,IF(C12="Windows",1,2)) ,0)
输出 : 3
解释 :由于 IF(C12="Windows",1,2) 部分返回2,所以这部分变成 match(c11,index((d5:g5,i5:l5),,2),0)。 现在。 index((d5:g5,i5:l5),,2) 归还部分 I5:G5 这就是 {2017,2018,2019,2020} 所以 匹配 公式变成 MATCH(C11,{2017,2018,2019,2020},0) 而 匹配 函数返回3,因为2019年的值在 细胞C11 是在{2017,2018,2019,2020}阵列的第3位。
- match(c13,b5:b9,0)。
输出 : 4
解释 : 报道 匹配 函数的值与 细胞C13 在 B5:B9 范围,并返回4,因为它是字符串 "Canada "在 B5:B9 范围。
- =INDEX({2017,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590,6451,3177,6711;5126,3763,3317,9940},4,3)
输出 : 3177
解释 : 在所有的小块公式被执行后,整个公式看起来像这样。 并且它返回第4行和第3列相交的值。
阅读更多。 Excel中的IF与INDEX-MATCH(3种合适的方法)
例5:从一个范围中完整地返回一个行或列
使用 索引 要做到这一点,请执行以下步骤。
步骤。
- 假设你想返回第一行,从 窗户 列表:在任何单元格中应用以下公式(这里,在 细胞F11 ),然后按 进入。
=index(d6:g9,1,0)
- 注意,我们在这里指定了列号为0。 我们也可以应用下面的公式来获得整个行,在row_num参数后面加一个逗号,并保持原样,不指定任何列号。
=index(d6:g9,1,)
- 但如果你只是写 =index(d6:g9,1) 并击中 进入。 你将只得到第一行的第一个值,而不是整个行。
- 要获得第一列的整数,应用以下公式。 在获得整行返回的情况下,你应该考虑的事情也适用于这种情况。
=index(i6:l9,,1)
请注意。
- 如果你使用的Excel版本比 微软365 ,那么你必须使用数组公式从一个范围内返回一个行或列,使用 索引 职能。
- 例如,在我们这里的数据集中,每一行的销售范围由4个值组成,所以你必须水平选择4个单元格,然后输入 索引 功能。
- 现在按 ctrl + shift + enter 来输入公式,作为一个数组公式。
- 以同样的方式,你可以显示整个列。
- 要返回整个范围,只需将范围分配给参考参数,并将0作为列号和行号。 下面是一个公式作为例子。
=index(d6:g9,0,0)
阅读更多。 如何在Excel中从不同的数组中匹配多个标准
类似读物
- Excel中的INDEX MATCH多条件匹配(无数组公式)。
- Excel INDEX 匹配单个/多个标准与单个/多个结果
- Excel INDEX MATCH返回一个单元格中的多个值
- 在Excel中用通配符进行索引匹配的多重标准(完整指南)。
- 如何在Excel中选择特定数据(6种方法)
例6:INDEX函数也可以作为单元格参考使用
在例子5中,我们已经看到如何使用 索引 你也可以在任何单元格中使用下面的简单公式来获得同样的结果。
=D6:G6
我想说的是------。 索引 函数也可以返回一个单元格引用而不是单元格值。 我将使用 index(d6:g9,1,4) 而不是 G6 因此,该公式将是这样的。
=d6:index(d6:g9,1,4)
🔎 对这个公式的评价。
- 首先,选择公式所在的单元格。
- 转到 公式 标签>>。 公式审计 组>> 点击 评估公式 指挥。
- ǞǞǞ 评估公式 对话框将打开。
- 在评估领域,你将得到公式 =d6:index(d6:g9,1,4) .
- 现在点击 评估 .
- 该公式现在显示的是单元格范围 D$6:$G$6 .
- 所以,整个 索引 公式返回了一个单元格引用,而不是一个单元格值。
在Excel中使用INDEX函数时的常见错误
#REF!错误。
它的发生--
- 当你传递的row_num参数高于范围内的现有行数时。
- 当你传递的col_num参数高于范围内现有的列数时。
- 当你传递的area_num参数高于现有的区域号码时。
#VALUE!错误。
当你提供非数字值作为row_num、col_num或area_num时,它就会发生。
总结
索引 函数是Excel中最强大的函数之一。 为了穿越一个单元格区域,并从一个单元格区域检索数据,你会使用大量的时间Excel的 索引 如果你知道一种独特的方法来使用Excel的 索引 功能,请在评论框中告诉我们。 你可以访问我们的 博客 以了解更多此类与Excel相关的内容。