close

234

INDEX函數語法說明及應用實例

INDEX函數傳回一個值或者對某個值的參照。與其他函數如MATCH函數聯合使用,可以構造強大的公式。

什麼情況下使用INDEX函數?

INDEX函數可以傳回一個值或者對某值的參照,因此可以使用該函數來查找所選月份的銷量、獲取對指定欄、列、範圍的參照、基於給定數目創建動態範圍、以字母順序排序文字欄。

INDEX函數

函數類型:查閱及參照

    明:  傳回一個值或者對某值的參照。

    法:  INDEX函數有兩種語法形式陣列和參照。使用陣列形式,返回值;使用參照形式,返回參照。
陣列形式語法:INDEX(Array,Row_num,Column_num)
參照形式語法:
INDEX(Reference,Row_num,Column_num,Area_num)

    數:  Array是一個陣列或者儲存格範圍。
如果陣列僅有1欄或列,那麼相應的欄名/列號參數可選。
如果陣列大於1欄或列,並且僅使用Row_numColumn_num,傳回整欄或整列組成的陣列。
如果忽略Row_num,則Column_num必需。
如果忽略Column_num,則Row_num必需。
如果Row_numColumn_num參數全都使用,則返回Row_numColumn_num交叉的儲存格中的值。
如果row_NumColumn_num0,返回整列或整行的參照
如果Row_numColumn_num是零,返回整列或整行的值組成的陣列。
Reference
可以參照一個或多個儲存格範圍-在括弧中封閉非連續的範圍。
Area_num
選擇參照中的範圍,從其中傳回欄列交叉處的值。
如果忽略Area_num參數,使用區域
1

    明:  如果Row_numColumn_num沒有指向陣列或參照裡的儲存格,那麼INDEX函數返回#REF!錯誤。

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

輸入列號,INDEX函數返回參照中該列所在位置的銷量。這裡的數字是4,因此傳回四月份的銷量。

F2儲存格輸入公式:「=INDEX($B$2:$B$8,E2)」。

image

要使該公式更靈活,可以基於從下拉清單中選擇的月份使用MATCH函數傳回行號。

F2儲存格輸入公式:「=INDEX($B$3:$B$14,MATCH($E$2,$C$3:$C$14,0))」。

image

實例2:獲取對指定行、列、範圍的參照

有一個名為月金額的命名範圍,由3個非連續的範圍組成。月金額範圍3-每個月一塊-並且在每塊有42欄。

下面是月金額名稱的命名公式:

image

使用INDEX函數,可以傳回指定範圍和月份的成本或收入,在E10儲存格輸入公式「=INDEX(月金額,B10,C10,D10)」。

image

INDEX函數的結果也可做運算,F10儲存格中稅計算公式:「=0.05*INDEX(月金額,B10,C10,D10)

image

或者,使用CELL函數傳回參照,顯示結果所在的儲存格的地址, G10儲存格中的公式:

=CELL(“address”,INDEX(月金額,B10,C10,D10))」。

image

實例3:基於給定數目創建動態範圍

可以使用INDEX函數創建動態範圍。在本例中,已經使用下面的公式創建了名稱為月清單的命名區域:

=工作表1!$C$1:INDEX(工作表1!$C:$C,COUNT(工作表1!$C:$C))

image

如果在列C中添加另一個月,將自動顯示在儲存格E3中使用月清單作為資料來源的資料有效性下拉清單中。

image

實例4:按字母順序排序文字欄

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

D4儲存格輸入公式,由於公式是陣列公式,因此輸入完後要按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))

再移到E4儲存格右下角拖拉方塊上方,按住滑鼠左鍵將公式複製到D5~D14儲存格。

image

 


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()