INDEX函数是返回表或区域中的值或值的引用。函数INDEX()有两种形式:数组形式和引用形式。数组形式通常返回数值或数值数组;引用形式通常返回引用。
语法:INDEX(array, row_num, [column_num])
返回表格或数组中的元素值,此元素由行号和列号的索引值给定。当函数 INDEX 的第一个参数为数组常量时,使用数组形式。
Array:必需。单元格区域或数组常量。
如果数组只包含一行或一列,则相对应的参数 row_num 或 column_num 为可选参数。
如果数组有多行和多列,但只使用 row_num 或 column_num,函数 INDEX 返回数组中的整行或整列,且返回值也为数组。
Row_num:必需。选择数组中的某行,函数从该行返回数值。如果省略 row_num,则必须有 column_num。
Column_num:可选。选择数组中的某列,函数从该列返回数值。如果省略 column_num,则必须有 row_num。
INDEX函数是很常用的查找引用函数。通常情况下,嵌套其余函数一起使用,比如index+match。在使用INDEX()函数时,第二、三参数一般情况与MATCH()函数配合使用,以实现动态查找引用的目的。
第一:index函数用法解释
INDEX函数的用法是返回列表或数组中的元素值,此元素由行序号和列序号的索引值确定。即行列交叉点所在的引用。
INDEX函数的语法为: INDEX(区域,行,列)
需要注意一点的是:此处的行列序号是相对于第一参数的区域而言,不是Excel工作表中的行或列序号。
如果区域只包含一行或一列,则相对应的参数 row_num 或 column_num可以相应省略1个。
第二:index函数简单举例应用
如下表所示,根据A1:D5单元格区域,使用index函数查找A8单元格对应的产品名称。
提供三种解法,任意一种均可。
一:=INDEX(A4:D4,1,4)
二:=INDEX(A4:D4,,4)
三:=INDEX(A1:D5,4,4)
解法一,在A4:D4一行中,查找第一行,第四列的值。
解法二,根据第一部分index函数解释,如果区域只包含一行,则对应的行参数可以省略,因此省略后就成为:=INDEX(A4:D4,,4)。
解法三:在A1:D5区域,查找第四行,第四列的值。
INDEX其他用法:
一、可以提取不重复清单
在单元格C2中输入
“=IFERROR(INDEX($A$2:$A$17,SMALL(IF(MATCH($A$2:$A$17,$A$2:$A$17,0)=ROW($A$2:$A$17)-1,ROW($A$2:$A$17)-1),ROW()-1),0),"")”
思路:
1、利用MATCH=ROW来确定不重复项的位置
2、利用IF函数返回对应的位置号
3、利用SMALL函数分别为INDEX函数提供由小到大的位置号
4、INDEX返回数值
5、IFERROR屏蔽错误
6、OFFSET函数也可以完成同样的工作,其公式的原理是一样的。
第四种用法比较复杂,当然,处理这种问题最简单的方法仍旧是透视表。
二、隔行提取数据
下例中,分别提取奇数行和偶数行并在新的区域中形成新的清单。
在单元格C2中输入
“=IFERROR(INDEX($A$2:$A$17,COLUMN(A1)+(ROW(A1)-1)*2)&"","")”
并向右向下拖曳即可。
思路:
COLUMN函数和ROW函数分别返回列号和行号,组合使用后起到了隔行的效果
&""的作用是如果INDEX返回值为“0”时,例如,上面的单元格区域变为A2:A27时,利用&""转换为空文本""
IFERROR屏蔽错误值