分享

INDEX函数

 ExcelEasy 2022-03-22

分类:查找和引用函数介绍

INDEX函数的作用是从给定的区域(数组)中返回指定行号和列号的引用(值)。

INDEX的使用其实非常简单。但是微软给出的语法说明会让人非常困惑。我们先不纠结这个,直接从使用的场景来说明:场景1:从区域中选择某个单元格

这是一种最简单的场景,符合我们对INDEX的期望:

我们需要取得香蕉在Q3的销量,可以使用公式:

=INDEX(D4:G7,2,3)

其中,

D4:G7是引用区域,

2代表香蕉在该区域中的行号,

3代表Q3在该区域中的列号。

场景2:从二维数组中选择某个值

INDEX的第一个参数支持数组。如果我们有一个二维数组:

{853,436,560,254;186,387,561,724;482,890,814,736;386,579,366,630}

实际上这也是一个4行4列的数组,

公式:

=INDEX({853,436,560,254;186,387,561,724;482,890,814,736;386,579,366,630},2,3)

也是取出该数组的第2行,第3列的元素:561

实际上,这个公式跟场景1并没有本质不同。场景3:从行(列)区域或一维数组中取出一个数值

从场景1和场景2中我们可以看出,INDEX的第一个参数是区域和数组并没有本质不同,所以我们在这个场景中就将区域和数组放在一起讲。

如果我们给定的区域只有一行,或者一列,

这个时候要从中返回某个值就不需要指明两个数字:行号和列号了。我们只需要一个数字就可以了

或者

不管是单行还是单列,只要指明需要的数据在第一个就可以了。这里没有行号和列号的区别。

同样,如果第一个参数是一维数组,也只需要用一个数字指明是第几个就可以了。

公式:

=INDEX({1,2,3,4},2)

和公式:

=INDEX({1;2;3;4},2)

都返回相同的结果。

场景3:从多行多列区域中返回整行或者整列

INDEX不仅仅可以根据行号和列号返回某个单元格的值,还可以根据行号返回某行,以及根据列号返回某列。

例如:

在D10:G10中输入公式:

=INDEX(D4:G7,2,0)

然后按CTRL+SHIFT+ENTER输入数组公式(在支持动态数组的Excel中,直接回车即可),即可得到第2行的整行数据。

这里要注意,要想得到整行数据,代表列号的参数要写0。

同样,如果要得到整列,代表行号的参数要写0。

同样的方法可以从多行多列的数组中取出某行或某列数组:

{=INDEX({853,436,560,254;186,387,561,724;482,890,814,736;386,579,366,630},2,0)}

{=INDEX({853,436,560,254;186,387,561,724;482,890,814,736;386,579,366,630},0,3)}场景4:从多个不连续区域中,选择某个区域的某个单元格

这是一个相对来说用的比较少的场景。

假设我们有四个地区的数据,分别放在4个不同的区域中:

如果想用一个公式选出指定行号/列号的数据,可以使用INDEX函数的最后一个参数:

=INDEX((C4:F7,I4:L7,C12:F15,I12:L15),2,3,3)

最后一个参数指示INDEX函数要从那个连续区域中取数。

同样,公式:

=INDEX((C4:F7,I4:L7,C12:F15,I12:L15),2,0,3)

取出了华东区的第2行数据。

在这种场景中,不支持数组形式!

INDEX返回的是区域

尽管在前面的场景中,我们说INDEX作用在区域上和作用在数组上,本质的原理都是一样的。但是,还是要强调一点不同:

INDEX作用在区域上时,返回的是单元格(或区域)引用,而不是单元格的值:

在上图中,我们讲INDEX函数放到CELL函数中,用CELL函数返回这个INDEX公式的地址,结果返回的是:D5。说明公式:

=INDEX(D4:D7,2)

返回的是D5单元格,而不是其中的数值,只不过这个公式呈现的结果是其中的数值而已。

又如:

在这个例子中,公式:

{=INDEX(D4:G7,2,0)}

实际上返回的并不是:

{186,387,561,724}

这样的数组,

而是

D5:G5

这个区域。

我们可以把这个INDEX公式放在SUM函数中(不用CTRL+SHIFT+ENTER):

=SUM(INDEX(D4:G7,2,0))

然后用“公式求值”看一看它的过程:

很明确地说明INDEX返回的是个区域。

另外,还有一个比较少的人知道的用法:你可以像使用A1,B12一样使用INDEX返回的区域:

例如,公式:

=SUM(D4:INDEX(D4:D7,3))

就是将D4到INDEX(D4:D7,3)之间的单元格区域进行求和。

Excel+Power Query+Power Pivot+Power BI

Power Excel 知识库    按照以下方式进入知识库学习Excel函数   底部菜单:知识库->Excel函数

自定义函数  底部菜单:知识库->自定义函数Excel如何做  底部菜单:知识库->Excel如何做

面授培训  底部菜单:培训学习->面授培训

也可以在历史文章中学习Excel,Power Query,Power Pivot,Power BI,Power Automate各种技巧。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多