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

你的浏览器不支持视频。 请安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

使用 INDEX 函数有两种方法:

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

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

数组形式

说明

返回表元素或数组元素的值,该元素是通过行号和列号索引选定的。

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

语法

INDEX(array, row_num, [column_num])

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

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

    • 如果数组只包含一行或一列,则相对应的参数 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 函数的引用形式具有以下参数:

  • 参考代码    必需。 对一个或多个单元格区域的引用。

    • 如果为引用输入一个不连续的区域,必须将其用括号括起来。

    • 如果引用中的每个区域均只包含一行(或一列),则 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 函数计算将使用的范围。

例如,如果引用描述的单元格为 (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 单元格中的数字。

示例

复制下表中的示例数据,然后将其粘贴进新的 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 函数

数组公式指南和示例

查找和引用函数(参考)

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×