INDEX函数用于返回表或区域中的值或值的引用,它两种形式:数组形式和引用形式。
数组形式
返回表格或数组中的元素值,此元素由行序号和列序号的索引值给定。当函数INDEX的第1个参数为数组常量时,使用数组形式。其语法如下:
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参数。下面通过实例详细讲解该函数的使用方法与技巧。
打开“INDEX.xlsx”工作簿,切换至“Sheet1”工作表,本例中的原始数据如图16-46所示。要求根据工作表中的数据内容,返回表格或数组中的元素值。具体操作步骤如下。
STEP01:选中A5单元格,在编辑栏中输入公式“=INDEX(A2:B3,2,2)”,用于返回位于区域中第2行和第2列交叉处的数值(沙和尚),输入完成后按“Enter”键返回计算结果,如图16-47所示。
图16-46 原始数据
图16-47 A5单元格返回结果
STEP02:选中A6单元格,在编辑栏中输入公式“=INDEX(A2:B3,2,1)”,用于返回位于区域中第2行和第1列交叉处的数值(唐三藏),输入完成后按“Enter”键返回计算结果,如图16-48所示。
引用形式
返回指定的行与列交叉处的单元格引用。如果引用由不连续的选定区域组成,可以选择某一选定区域。其语法如下:
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个区域序号为1,第2个为2,依此类推。如果省略area_num参数,则函数INDEX使用区域1。
例如,如果引用描述的单元格为(A1:C4,D1:E4,F1:H4),则area_num 1为区域A1:C4,area_num 2为区域D1:E4,而area_num 3为区域F1:H4。下面通过实例详细讲解该函数的使用方法与技巧。
打开“INDEX函数.xlsx”工作簿,切换至“Sheet2”工作表,本例中的原始数据如图16-49所示。要求根据工作表中的数据内容,返回指定的行与列交叉处的单元格引用。具体操作步骤如下。
图16-48 A6单元格返回结果
图16-49 原始数据
STEP01:选中A12单元格,在编辑栏中输入公式“=INDEX(A2:C6,2,3)”,用于返回区域A2:C6中第2行和第3列的交叉处,即C3单元格的内容,输入完成后按“Enter”键返回计算结果,如图16-50所示。
STEP02:选中A13单元格,在编辑栏中输入公式“=INDEX((A1:C6,A7:C10),2,2,2)”,用于返回第2个区域A8:C11中第2行和第2列的交叉处,即B8单元格的内容,输入完成后按“Enter”键返回计算结果,如图16-51所示。
图16-50 A12单元格返回结果
图16-51 A13单元格返回结果
STEP03:选中A14单元格,在编辑栏中输入公式“=SUM(INDEX(A1:C10,0,3,1))”,用于对第1个区域A1:C10中的第3列求和,即对C1:C10求和,输入完成后按“Enter”键返回计算结果,如图16-52所示。
STEP04:选中A15单元格,在编辑栏中输入公式“=SUM(B2:INDEX(A2:C6,5,2))”,用于返回以B2单元格开始到A2:C6单元格区域中第5行和第2列交叉处结束的单元格区域的和,即B2:B6单元格区域的和,输入完成后按“Enter”键返回计算结果,如图16-53所示。
图16-52 A14单元格返回结果
图16-53 A15单元格返回结果