index函数语法说明及应用实例

实时应用开发

5人已加入

描述

  INDEX函数

  INDEX函数是返回表或区域中的值或对值的引用。函数INDEX()有两种形式:数组形式和引用形式。数组形式通常返回数值或数值数组;引用形式通常返回引用。

  返回特定行和列交叉处单元格的引用。如果该引用是由非连续选定区域组成的,则可以选择要用作查找范围的选定区域。

  函数语法

  语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。

  参数:Array为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX函数使用区域1

  实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1)”返回68。

  INDEX函数返回一个值或者对某个值的引用。与其他函数如MATCH函数联合使用,可以构造强大的公式。

  

  什么情况下使用INDEX函数?

  INDEX函数可以返回一个值或者对某值的引用,因此可以使用该函数来:查找所选月份的销量;获取对指定行、列、区域的引用;基于给定数目创建动态区域;以字母顺序排序文本列。

  INDEX函数的语法

  INDEX函数有两种语法形式—数组和引用。使用数组形式,返回值;使用引用形式,返回引用。

  数组形式的语法如下:

  INDEX(array,row_num,column_num)

  array是一个数组常量或者单元格区域

  如果数组仅有1行或列,那么相应的行/列号参数可选

  如果数组大于1行或列,并且仅使用row_num或column_num,返回整行或整列组成的数组

  如果忽略row_num,则column_num必需

  如果忽略column_num,则row_num必需

  如果row_num和column_num参数全都使用,则返回row_num和column_num交叉的单元格中的值

  如果row_num或column_num是零,返回整列或整行的值组成的数组

  引用形式的语法如下:

  INDEX(reference,row_num,column_num,area_num)

  reference可以引用一个或多个单元格区域-在括号中封闭非连续的区域

  如果在引用中的每个区域仅有1行或1列,那么相应的行/列数参数是可选的

  area_num选择引用中的区域,从其中返回行列交叉处的值

  如果忽略area_num参数,使用区域1

  如果row_num或column_num是0,返回整列或整行的引用

  结果是一个引用,可用于其他函数中

  INDEX陷阱

  如果row_num和column_num没有指向数组或引用里的单元格,那么INDEX函数返回#REF!错误。

  示例1:查找所选月份的销量

  输入行号,INDEX函数返回引用中该行所在位置的销量。这里的数字是4,因此返回四月份的销量。

  =INDEX($C$2:$C$8,F2)

  

  要使该公式更灵活,可以基于从下拉列表中选择的月份使用MATCH函数返回行号。

  =INDEX($C$2:$C$8,MATCH($F$2,$D$2:$D$8,0))

  

  示例2: 获取对指定行、列、区域的引用

  本例中,有一个名为MonthAmts的命名区域,由3个非连续的区域组成。MonthAmts区域有3块-每个月一块-并且在每块有4行2列。下面是MonthAmts名称的命名公式:

  =’Ex02′!$B$3:$C$6,’Ex02′!$E$3:$F$6,’Ex02′!$H$3:$I$6

  使用INDEX函数,可以返回指定区域和月份的成本或收入。

  =INDEX(MonthAmts,B10,C10,D10)

  函数

  可以乘以INDEX函数的结果,例如单元格F10中的税计算:

  =0.05*INDEX(MonthAmts,B10,C10,D10)

  或者,使用CELL函数返回引用,显示结果所在的单元格的地址,例如单元格G10中的公式:

  =CELL(“address”,INDEX(MonthAmts,B10,C10,D10))

  函数

  示例3:基于给定数目创建动态区域

  可以使用INDEX函数创建动态区域。在本例中,已经使用下面的公式创建了名称为MonthList的命名区域:

  =’Ex03′!$C$1:INDEX(‘Ex03′!$C:$C,COUNTA(‘Ex03′!$C:$C))

  函数

  如果在列C中添加另一个月,将自动显示在单元格F2中使用MonthList作为数据源的数据有效性下拉列表中。

  函数

  示例4:按字母顺序排序文本列

  在最后一个示例中,INDEX函数与几个其他函数一起组合使用,返回以字母顺序排列的月份列表。COUNTIF函数显示在指定的月名之前有多少个月份名称。SMALL函数返回列表中最小的项,MATCH函数返回该月份所在的行号。

  公式是数组公式,因此输入完后要按Ctrl+Shift+Enter组合键。

  =INDEX($C$4:$C$9,MATCH(SMALL(

  COUNTIF($C$4:$C$9,”《”&$C$4:$C$9),ROW(E4)-ROW(E$3)),

  COUNTIF($C$4:$C$9,”《”&$C$4:$C$9),0))

  函数

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分