INDEX 函數

INDEX 函數會傳回表格或範圍內的某個值或值的參照。

使用 [公告] 帶來重大影響

有兩種方法可使用 INDEX 函數︰

  • 如果您想要傳回指定儲存格或儲存格陣列的值,請參閱陣列形式

  • 如果您想要傳回指定儲存格的參照,請參閱參照形式

陣列形式

描述

傳回表格或陣列中某個元素的值,該元素是由列和欄編號索引所選取。

當 INDEX 的第一個引數是常數陣列時使用陣列形式。

語法

INDEX(array, row_num, [column_num])

INDEX 函數的陣列形式具有下列引數:

  • array    必要。 儲存格範圍或陣列常數。

    • 如果 array 只包含一個列或一個資料行,則對應的 row_num 或 column_num 引數是選擇性的。

    • 如果陣列有一個以上的列和多個資料行,且只使用 row_num 或 column_num,INDEX 會傳回陣列中整個列或資料行的陣列。

  • row_num    必要(除非有 column_num)。 選取陣列中要傳回值的列。 如果省略 row_num,則需要 column_num。

  • column_num    選用。 選取陣列中要傳回值的資料行。 如果省略 column_num,則需要 row_num。

註解

  • 如果使用 row_num 和 column_num 引數,INDEX 會傳回 row_num 與 column_num 交集的儲存格中的值。

  • row_num 和 column_num 必須指向陣列中的儲存格;否則,INDEX 會傳回 #REF! 錯誤。

  • 如果您將 row_num 或 column_num 設定為0(零),INDEX 會分別傳回整個資料行或列的值陣列。 若要使用以陣列形式傳回的值,請將 INDEX 函數輸入為陣列公式。

    附註: 如果您有目前版本的Microsoft 365,您可以在輸出範圍的左上角儲存格輸入公式,然後按enter以將公式確認為動態陣列公式。 否則,您必須先選取輸出範圍,在輸出範圍的左上角儲存格輸入公式,然後按CTRL + SHIFT + ENTER來確認,才能以傳統陣列公式的方式輸入公式。 Excel 會在公式的開頭和結尾插入大括弧。 如需有關陣列公式的詳細資訊,請參閱陣列公式的指導方針和範例

範例

範例 1

這些範例使用 INDEX 函數來尋找列與欄交集處的儲存格中的值。

請在下列表格中複製範例資料,再將之貼到新 Excel 工作表中的儲存格 A1。 若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter

資料

資料

蘋果

檸檬

香蕉

梨子

公式

描述

結果

=INDEX(A2:B3,2,2)

在 A2:B3 範圍內,第二列及第二欄交叉點的值。

梨子

=INDEX(A2:B3,2,1)

在 A2:B3 範圍內,第二列及第一欄交叉點的值。

香蕉

範例 2

此範例在陣列公式中使用 INDEX 函數,來尋找在 2x2 陣列中指定的兩個儲存格中的值。  

附註: 如果您有目前版本的Microsoft 365,您可以在輸出範圍的左上角儲存格輸入公式,然後按enter以將公式確認為動態陣列公式。 否則,您必須先選取兩個空白儲存格,並在輸出範圍的左上角儲存格輸入公式,然後按CTRL + SHIFT + ENTER來確認,以將公式輸入為舊版陣列公式。 Excel 會在公式的開頭和結尾插入大括弧。 如需有關陣列公式的詳細資訊,請參閱陣列公式的指導方針和範例

公式

描述

結果

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

陣列第一列、第二欄內的值。 陣列的第一列含有 1 和 2,第二列含有 3 和 4。

2

上述陣列中第二列、第二欄內的值。

4

頁面頂端


參照形式

描述

傳回根據所指定欄列交集處的儲存格之參照。 如果參照是由非連續的選取範圍所組成,您可以選擇要查看的選取範圍。

語法

INDEX(reference, row_num, [column_num], [area_num])

INDEX 函數的參照形式具有下列引數:

  • reference    必要。 一個或多個儲存格範圍的參照。

    • 如果您要為參照輸入不連續的範圍,請以括弧括住參照。

    • 如果參照中的每個區域只包含一列或一欄,則會分別是 row_num 或 column_num 引數。 例如,對於單一列的參照而言,請使用 INDEX(reference,,column_num)。

  • row_num    必要。 參照中要傳回參照的列數。

  • column_num    選用。 要傳回參照之參照中的欄數。

  • area_num    選用。 在參照中選取要傳回 row_num 與 column_num 交集的範圍。 選取或輸入的第一個區域編號為1,第二個區域為2,依此類推。 如果省略 area_num,INDEX 會使用區域1。  此處所列的區域必須位於一張工作表上。  如果您指定的區域彼此不在同一個工作表上,會造成 #VALUE! 錯誤。  如果您需要使用彼此位於不同工作表的範圍,建議您使用 INDEX 函數的 array 形式,然後使用另一個函數來計算組成陣列的範圍。  例如,您可以使用 CHOOSE 函數來計算將使用的範圍。

例如,如果參照描述的是儲存格(A1: B4、D1: E4、G1: H4),area_num 1 是 A1: B4,area_num 2 是範圍 D1: E4,而 area_num 3 則是範圍 G1: H4。

註解

  • 在參照並 area_num 選取特定範圍之後,row_num 並 column_num 選取特定儲存格: row_num 1 是範圍中的第一列,column_num 1 是第一欄,依此類推。 INDEX 所傳回的參照是 row_num 與 column_num 的交集。

  • 如果您將 row_num 或 column_num 設定為0(零),INDEX 會分別傳回整個資料行或列的參照。

  • row_num、column_num 及 area_num 必須指向參照中的儲存格;否則,INDEX 會傳回 #REF! 錯誤。 如果省略 row_num 與 column_num,INDEX 會傳回由 area_num 指定之參照中的區域。

  • INDEX 函數所傳回的結果是個可供其他公式運用的參照。 至於 INDEX 所傳回的值是以參照或值的方式使用,則要視公式而定。 例如:公式 CELL("width",INDEX(A1:B2,1,2)) 相當於 CELL("width",B1)。 CELL 函數將 INDEX 的傳回值當做儲存格參照來使用。 而公式 2*INDEX(A1:B2,1,2) 則將 INDEX 的傳回值轉變為儲存格 B1 的數字。

範例

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter。

水果

價格

計數

蘋果

$0.69

40

香蕉

$0.34

38

檸檬

$0.55

15

柑橘

$0.25

梨子

$0.59

40

杏仁

$2.80

10

腰果

$3.55

花生

$1.25

20

胡桃

$1.75

12

公式

描述

結果

=INDEX(A2:C6, 2, 3)

A2:C6 範圍中第二列與第三欄的交叉點,也就是儲存格 C3 的內容。

38

=INDEX((A1:C6, A8:C11), 2, 2, 2)

A8:C11 第二區域中第二列與第二欄的交叉點,也就是儲存格 B9 的內容。

1.25

=SUM(INDEX(A1:C11, 0, 3, 1))

A1:C11 範圍之第一區域中第三欄的總和,也就是 C1:C11 的總和。

216

=SUM(B2:INDEX(A2:C6, 5, 2))

B2 到 A2:A6 範圍中第五列和第二欄交差點的總和,也就是 B2:B6 的總和。

2.42

頁面頂端

另請參閱

VLOOKUP 函數 (機器翻譯)

MATCH 函數

INDIRECT 函數

陣列公式的指導方針和範例

查閱與參照函數 (參照)

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×