INDEX 函数

INDEX 函数返回表格或区域中的值或值的引用。

你的浏览器不支持视频。

使用 INDEX 函数有两种方法:

  • 如果想要返回指定单元格或单元格数组的值,请参阅数组形式.

  • 如果想要返回对指定单元格的引用,请参阅引用形式

数组形式

说明

返回由行号和列号索引选中的表或数组中元素的值。

当函数 INDEX 的第一个参数为数组常量时,使用数组形式。

语法

INDEX(array, row_num, [column_num])

INDEX 函数的数组形式具有下列参数:

  • array    必需。 单元格区域或数组常量。

    • 如果数组仅包含一行或一列,则相应的row_num或column_num参数是可选的。

    • 如果数组具有多行和多列,并且row_num或 column_num,INDEX 返回数组中整个行或列的数组。

  • row_num    必需,除非column_num存在。 选择数组中的某行,函数从该行返回数值。 如果row_num,column_num参数。

  • column_num    可选。 选择数组中的某列,函数从该列返回数值。 如果column_num,row_num参数。

备注

  • 如果同时使用 row_num 和 column_num 参数,INDEX 将返回单元格中两row_num column_num。

  • row_num和column_num必须指向数组中的单元格;否则,INDEX 返回#REF! 错误。

  • 如果将值row_num或column_num为 0 (零) ,INDEX 将分别返回整列或整行的值数组。 若要使用作为数组返回的值,请输入 INDEX 函数作为数组公式。

    注意: 如果当前版本为Microsoft 365,可以在输出区域左上方的单元格中输入公式,然后按Enter确认该公式为动态数组公式。 否则,必须先选择输出区域,在输出区域左上方单元格中输入公式,然后按 Ctrl+Shift+Enter 进行确认,才能将公式作为旧数组公式输入。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例

示例

示例 1

下面的示例使用 INDEX 函数查找某一行和某一列的交叉单元格中的值。

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter

数据

数据

苹果

柠檬

香蕉

公式

说明

结果

=INDEX(A2:B3,2,2)

位于区域 A2:B3 中第二行和第二列交叉处的数值。

=INDEX(A2:B3,2,1)

位于区域 A2:B3 中第二行和第一列交叉处的数值。

香蕉

示例 2

此示例在数组公式中使用 INDEX 函数查找一个 2x2 数组中指定两个单元格中的值。  

注意: 如果当前版本为Microsoft 365,可以在输出区域左上方的单元格中输入公式,然后按Enter确认该公式为动态数组公式。 否则,必须先选择两个空白单元格,在输出区域左上方的单元格中输入公式,然后按 Ctrl+Shift+Enter 进行确认,才能将公式作为旧数组公式输入。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例

公式

说明

结果

=INDEX({1,2;3,4},0,2)

数组的第一行、第二列中找到的数值。 数组包含第一行中的 1 和 2 以及第二行中的 3 和 4。

2

数组(与上面的数组相同)的第二行、第二列中找到的数值。

4

返回页首


引用窗体

说明

返回指定的行与列交叉处的单元格引用。 如果引用由非相邻选定区域所决定,您可以选择要查找的选定区域。

语法

INDEX(reference, row_num, [column_num], [area_num])

INDEX 函数的引用形式具有下列参数:

  • 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。  此处列出的区域必须全部位于一个工作表上。  如果指定彼此不在同一张工作表上的区域,将导致#VALUE! 错误。  如果需要使用彼此位于不同工作表上的区域,建议使用 INDEX 函数的数组形式,并使用另一个函数计算构成数组的范围。  例如,可以使用 CHOOSE 函数计算将使用的范围。

例如,如果 Reference 描述单元格 (A1:B4,D1:E4,G1:H4) ,area_num 1 是区域 A1:B4,area_num 2 是区域 D1:E4,area_num 3 是区域 G1:H4。

备注

  • 引用area_num选择特定区域后,row_num 和 column_num 选择特定单元格:row_num 1 是区域的第一行,column_num 1 是第一列,以此类比。 INDEX 返回的引用是索引和row_num column_num。

  • 如果将"row_num或column_num设置为 0 (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 单元格中的数字。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。

水果

价格

计数

苹果

¥6.90

40

香蕉

¥3.40

38

柠檬

¥5.50

15

橙子

¥2.50

25

¥5.90

40

¥28.00

10

腰果

¥35.50

16

花生

¥12.50

20

胡桃

¥17.50

1.2

公式

说明

结果

=INDEX(A2:C6, 2, 3)

区域 A2:C6 中第二行和第三列的交叉处,即单元格 C3 的内容。

38

=INDEX((A1:C6, A8:C11), 2, 2, 2)

第二个区域 A8:C11 中第二行和第二列的交叉处,即单元格 B9 的内容。

1.25

=SUM(INDEX(A1:C11, 0, 3, 1))

对第一个区域 A1:C11 中的第三列求和,即对 C1:C11 求和。

216

=SUM(B2:INDEX(A2:C6, 5, 2))

返回以单元格 B2 开始到单元格区域 A2:A6 中第五行和第二列交叉处结束的单元格区域的和,即单元格区域 B2:B6 的和。

2.42

返回页首

另请参阅

VLOOKUP 函数

MATCH 函数

INDIRECT 函数

数组公式指南和示例

查找和引用函数(参考)

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

×