位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

INDEX函數(shù)語法說明及應(yīng)用

提問人:周麗平發(fā)布時間:2021-08-19

INDEX函數(shù)返回一個值或者對某個值的引用。與其他函數(shù)如MATCH函數(shù)聯(lián)合使用,可以構(gòu)造強大的公式。

image.png

什么情況下使用INDEX函數(shù)?

INDEX函數(shù)可以返回一個值或者對某值的引用,因此可以使用該函數(shù)來:查找所選月份的銷量;獲取對指定行、列、區(qū)域的引用;基于給定數(shù)目創(chuàng)建動態(tài)區(qū)域;以字母順序排序文本列。

INDEX函數(shù)的語法

INDEX函數(shù)有兩種語法形式—數(shù)組和引用。使用數(shù)組形式,返回值;使用引用形式,返回引用。

數(shù)組形式的語法如下:

INDEX(array,row_num,column_num)

array是一個數(shù)組常量或者單元格區(qū)域

如果數(shù)組僅有1行或列,那么相應(yīng)的行/列號參數(shù)可選

如果數(shù)組大于1行或列,并且僅使用row_num或column_num,返回整行或整列組成的數(shù)組

如果忽略row_num,則column_num必需

如果忽略column_num,則row_num必需

如果row_num和column_num參數(shù)全都使用,則返回row_num和column_num交叉的單元格中的值

如果row_num或column_num是零,返回整列或整行的值組成的數(shù)組

引用形式的語法如下:

INDEX(reference,row_num,column_num,area_num)

reference可以引用一個或多個單元格區(qū)域-在括號中封閉非連續(xù)的區(qū)域

如果在引用中的每個區(qū)域僅有1行或1列,那么相應(yīng)的行/列數(shù)參數(shù)是可選的

area_num選擇引用中的區(qū)域,從其中返回行列交叉處的值

如果忽略area_num參數(shù),使用區(qū)域1

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

結(jié)果是一個引用,可用于其他函數(shù)中

INDEX陷阱

如果row_num和column_num沒有指向數(shù)組或引用里的單元格,那么INDEX函數(shù)返回#REF!錯誤。

示例1:查找所選月份的銷量

輸入行號,INDEX函數(shù)返回引用中該行所在位置的銷量。這里的數(shù)字是4,因此返回四月份的銷量。

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

image.png

要使該公式更靈活,可以基于從下拉列表中選擇的月份使用MATCH函數(shù)返回行號。

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

image.png

示例2: 獲取對指定行、列、區(qū)域的引用

本例中,有一個名為MonthAmts的命名區(qū)域,由3個非連續(xù)的區(qū)域組成。MonthAmts區(qū)域有3塊-每個月一塊-并且在每塊有4行2列。下面是MonthAmts名稱的命名公式:

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

使用INDEX函數(shù),可以返回指定區(qū)域和月份的成本或收入。

=INDEX(MonthAmts,B10,C10,D10)

image.png

可以乘以INDEX函數(shù)的結(jié)果,例如單元格F10中的稅計算:

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

或者,使用CELL函數(shù)返回引用,顯示結(jié)果所在的單元格的地址,例如單元格G10中的公式:

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

image.png

示例3:基于給定數(shù)目創(chuàng)建動態(tài)區(qū)域

可以使用INDEX函數(shù)創(chuàng)建動態(tài)區(qū)域。在本例中,已經(jīng)使用下面的公式創(chuàng)建了名稱為MonthList的命名區(qū)域:

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

image.png

如果在列C中添加另一個月,將自動顯示在單元格F2中使用MonthList作為數(shù)據(jù)源的數(shù)據(jù)有效性下拉列表中。

image.png

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

在最后一個示例中,INDEX函數(shù)與幾個其他函數(shù)一起組合使用,返回以字母順序排列的月份列表。COUNTIF函數(shù)顯示在指定的月名之前有多少個月份名稱。SMALL函數(shù)返回列表中最小的項,MATCH函數(shù)返回該月份所在的行號。

公式是數(shù)組公式,因此輸入完后要按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))

image.png


繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部