INDEX函式是返回表或区域中的值或对值的引用。函式INDEX()有两种形式:数组形式和引用形式。数组形式通常返回数值或数值数组;引用形式通常返回引用。
返回特定行和列交叉处单元格的引用。如果该引用是由非连续选定区域组成的,则可以选择要用作查找範围的选定区域。
基本介绍
- 外文名:INDEX函式
- 形式:数组形式和引用形式
- 引用:返回表或区域中的值或对值
- 套用领域:计算机
- 参数:Array为单元格区域或数组常数
函式语法
语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。
参数:Array为单元格区域或数组常数;Row_num为数组中某行的行序号,函式从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函式从该列返回数值。如果省略column_num,则必须有row_num。Reference是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括弧括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX函式使用区域1
实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1)”返回68。
数组形式
返回由行和列编号索引选定的表或数组中的元素值。如果 INDEX 的第一个参数是数组常量,请使用数组形式。
INDEX(array,row_num,column_num)
Array是一个单元格区域或数组常量。
· 如果数组中只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。
· 如果数组中包含多个行和列,但只使用了 row_num 或 column_num,INDEX 将返回数组中整行或整列的数组。
Row_num用于选择要从中返回值的数组中的行。如果省略 row_num,则需要使用 column_num。
Column_num用于选择要从中返回值的数组中的列。如果省略 column_num,则需要使用 row_num。
说明
1、如果同时使用了 row_num 和 column_num 参数,INDEX 将返回 row_num 和 column_num 交叉处单元格中的值。
2、如果将 row_num 或 column_num 设定为 0(零),INDEX 将分别返回整列或整行的值数组。要将返回的值用作数组,请在行的水平单元格区域和列的垂直单元格区域以数组公式 (数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括弧({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)的形式输入 INDEX 函式。要输入数组公式,请按 Ctrl+Shift+Enter。
3、Row_num 和 column_num 必须指向数组中的某个单元格;否则,INDEX 将返回 #REF! 错误值
案例:
如图所示,输入公式=INDEX(B3:D6,4,3)
数据表区域(B3:D6)
行数(4)
列数(3)
返回数据表区域(B3:D6)第四行第三列的值120。

引用形式
INDEX(reference,row_num,column_num,area_num)
Reference是对一个或多个单元格区域的引用。
· 如果要对引用输入一个非连续区域,请使用括弧将该引用括起来。
· 如果引用中的每个区域都只包含一行或一列,则可以不使用相应的 row_num 或 column_num 参数。例如,对于单行引用,可以使用 INDEX(reference,,column_num)。
Row_num是要从中返回引用的引用中的行编号。
Column_num是要从中返回引用的引用中的列编号。
Area_num用于选择要从中返回 row_num 和 column_num 的交叉点的引用区域。选择或输入的第一个区域的编号是 1,第二个区域的编号是 2,依此类推。如果省略 area_num,则 INDEX 将使用区域 1。
· 例如,如果引用描述的是单元格 (A1:B4,D1:E4,G1:H4),则 area_num 1 便是指区域 A1:B4,area_num 2 指区域 D1:E4,area_num 3 指区域 G1:H4。
说明
· 在 reference 和 area_num 选择了特定区域后,row_num 和 column_num 将选择一个特定的单元格:row_num 1 是该区域中的第一行,column_num 1 是该区域中的第一列,依此类推。INDEX 返回的引用将是 row_num 和 column_num 的交叉点。
· 如果将 row_num 或 column_num 设定为 0(零),INDEX 将分别返回整列或整行的引用。
· Row_num、column_num 和 area_num 必须指向引用中的某个单元格;否则,INDEX 将返回 #REF! 错误值。如果省略了 row_num 和 column_num,INDEX 将返回由 area_num 指定的引用区域。
· INDEX 函式的结果是一个引用,在用于其他公式时,其解释也是如此。根据使用的公式,INDEX 的返回值可以用作引用或值。例如,公式 CELL("width",INDEX(A1:B2,1,2)) 相当于 CELL("width",B1)。其中,CELL 函式将 INDEX 的返回值用作单元格引用。另一方面,类似于 2*INDEX(A1:B2,1,2) 的公式会将 INDEX 的返回值转换为该单元格(此处为 B1)中的数字。
示例
如果将示例複製到一个空白工作表中,可能会更易于理解。
A | B | |
1 | 数据 | 数据 |
2 | 苹果 | 柠檬 |
3 | 香蕉 | 梨 |
公式 | 说明(结果) | |
=INDEX(A2:B3,2,2) | 位于区域中第二行和第二列交叉处的数值(梨) | |
=INDEX(A2:B3,2,1) | 位于区域中第二行和第一列交叉处的数值(香蕉) |