天天看点

每天学一点Excel2010 (86)——Index之数组形式

作者:核言碎语by温柔偆侊

191 index

助记:英文的“索引”。

类别:查找和引用

该函数有数组形式和引用形式共两种不同的形式,可以认为是两个形式共用一个函数名称,其参数和用法有区别,因此要分开来讲。

数组形式

语法:

index(array,row_num,[column_num])

参数:2~3个参数

array 必需。单元格区域。当然内容相对固定且行列比较少的可以直接使用常量数组,放在大括号中用逗号和分号区分行列,例如,{1,2;3,4;5,6}是一个三行两列的常量数组。

row_num 必需。指定数组中的行数。

column_num 可选。指定数组中的列数。

用法:

返回数组中由行数、列数构成的索引值指定的数组元素。Excel帮助写的不好,里面的说明有好几条,咋一看一头雾水,下面通过示例来逐条进行讲解。

首先我们可以把数组想象成操场上排列的学生方块队,通过命令把需要的同学找出来。

1)先看方块队的情况。4名同学代号为老虎、虫子、棒子、鸡(有相生相克的关系)站成2行2列方块队,可以选择A1:B2区域,在名称框中输入“方块”(命名后方便一些,直接使用单元格区域的引用也可以,但要有好记性)。然后我们在F6单元格输入“=index(方块,2,2)”,显示第2行、第1列交叉处的“鸡”。(第1条说明:同时使用row_num和column_num,返回交叉处的值。)

每天学一点Excel2010 (86)——Index之数组形式

方块队

2)把第一个参数改成0,回车显示错误值。(第2条说明:如果将row_num或column_num设置为0,分别返回整列或整行的数组数值。输入数组公式要同时按下Ctrl+Shift+Enter组合键)。我们选择F6单元格按F2进入编辑状态,按下组合键,显示“虫子”。只有1个人,这是因为我们事先没给队列留足地方,比如只有一个凳子。

每天学一点Excel2010 (86)——Index之数组形式

参数为0要用数组公式

3)现在选择F6:F8(准备3个凳子),按F2,按组合键,如图第2列同学整列入座,还空余1个凳子。把第3个参数改成1看看,主要还要先选F6:F8区域,按F2,修改参数,按组合键,这次第1列的老虎、棒子入座了。

每天学一点Excel2010 (86)——Index之数组形式

选出第2列整列

4)把第3个参数改成0看看,现在要先选F6:H8区域,按F2,修改参数,按组合键,全体就坐。

每天学一点Excel2010 (86)——Index之数组形式

全体就坐

5)让发令员喊0行或0列总感觉怪怪的,现实中我们直接喊第一行、第2列、全体。细看参数array的说明:如果数组有多行或多列,但只使用row_num或column_num,函数返回数组中的整行或整列的数组。我们再选个大点的区域,把两个参数都省略,看一下还是全体,不用写0了,那样写0解释不清。

每天学一点Excel2010 (86)——Index之数组形式

全选(相当于二维平面)

6)现在我们倒回去看一下,2个参数确定一个单元格,相当于点;1个参数确定一维数组,相当于线;没有参数确定整个数组,相当于面。我们选取一个较大区域时,除了上面两个参数全部省略的全选面填充外。只有1个参数或省略1个参数时用线来填充;有2个参数时用点填充。如下面两张图

每天学一点Excel2010 (86)——Index之数组形式

单列(相当于一维直线)

每天学一点Excel2010 (86)——Index之数组形式

单元格(相当于点)

7)row_num和column_num对于一维数组(只有1行或1列),该参数自动识别为有意义的行数或列数。例如,上面图中A6单元格的公式为“=index(A1:A4,2)”,F1单元格的公式为“=index(A1:D1,2)”。对于F1单元格正规语法“=index(A1:D1,,2)”,但因为只有一行,所以参数才会自动识别为列号。

8)第3条说明:row_num和column_num必须指向数组中的一个单元格;否则,函数index返回错误值#REF!。

(待续)

继续阅读