Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016

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

您的瀏覽器不支援視訊。 請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

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

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

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

陣列形式

描述

傳回根據列號和欄號索引選取的表格或陣列中元素的值。

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

語法

INDEX(array, row_num, [column_num])

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

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

    • 如果 array 只包含單列或單欄,則相對應的 row_num 或 column_num 引數是選擇性的。

    • 如果 array 含有多列和多欄,且僅使用 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 必須指向 array 內的儲存格,否則,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    必要。 一或多個儲存格範圍的參照。

    • 如果輸入非相鄰的選取範圍做為參照,則必須使用括號括住參照。

    • 如果 reference 中的每一個區域均為單列或單欄,則單列可省略 row_num,單欄可省略 column_num 引數。 例如,對於單一列的參照而言,請使用 INDEX(reference,,column_num)。

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

  • column_num    選擇性。 要從中傳回參照的參照中的欄數。

  • area_num    選擇性。 選取要從 reference 中傳回 row_num 與 column_num 交集的範圍。 第一個已選取或輸入的區域會編碼為 1,第二個則編碼為 2,以此類推。 如果省略 area_num,則 INDEX 會使用區域 1。  列於此處的區域都必須位於同一個工作表上。  如果您指定區域的所在工作表與其他區域不同,就會導致 #VALUE! 錯誤。  如果您需要使用位於不同於其他工作表的範圍,建議您使用 INDEX 函數的陣列形式,然後使用其他函數來計算組成陣列的範圍。  例如,您可以利用 CHOOSE 函數來計算要使用的範圍。

例如,假設 Reference 是指儲存格 (A1:B4,D1:E4,G1:H4),則 area_num 1 即為範圍 A1:B4,area_num 2 即為範圍 D1:E4,而 area_num 3 即為範圍 G1:H4。

註解

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

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

  • row_num、column_num 及 area_num 必須指向 reference 內的儲存格,否則 INDEX 會傳回 #REF! 錯誤。 如果省略 row_num 與 column_num,INDEX 會傳回 reference 中由 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

25

梨子

$0.59

40

杏仁

$2.80

10

腰果

$3.55

16

花生

$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 函數

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

查閱與參照函數 (參照)

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。