打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel函数学习2:INDEX函数

本文来源于www.contextures.com,由完美Excel翻译,稍有补充和修改,特辑录于此,分享与大家共同学习。

微信公众账号:excelperfect

 

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


 

什么情况下使用INDEX函数?

INDEX函数可以返回一个值或者对某值的引用,因此可以使用该函数来:

  • 查找所选月份的销量

  • 获取对指定行、列、区域的引用

  • 基于给定数目创建动态区域

  • 以字母顺序排序文本列

 

INDEX函数的语法

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

数组形式的语法如下:

  • INDEX(array,row_num,column_num)    

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

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

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

    • 如果忽略row_num,则column_num必需

    • 如果忽略column_num,则row_num必需

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

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

引用形式的语法如下:

  • INDEX(reference,row_num,column_num,area_num)

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

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

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

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

    • 如果row_numcolumn_num0,返回整列或整行的引用

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

 

INDEX陷阱

如果row_numcolumn_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块——每个月一块——并且在每块有42列。下面是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))

 

 

--------------------------------------

 

如果您对本文介绍的内容有什么建议或好的示例,欢迎发送邮件给我:xhdsxfjy@163.com

转载请联系我或者注明出处。

 

关注《完美Excel》微信公众账号:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
INDEX 函数 - Excel - Microsoft Office
财务人员必懂得几个Excel函数(十二)
excel查询与引用函数:AREAS、COLUMNS、INDEX、ROWS
怎样从一列中提取非空单元格内容?
Excel中INDEX函数的使用
Excel之INDEX函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服