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

您的瀏覽器不支援視訊。

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

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

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

陣列形式

描述

會返回資料表或陣列中由列和欄號索引選取的元素值。

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

語法

INDEX(array, row_num, [column_num])

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

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

    • 如果 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必須指向陣列中的儲存格;否則,INDEX 會#REF! 錯誤。

  • 如果您將row_num或column_num為 0 (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 函數的參照表單具有下列引數:

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

    • 如果您要輸入參照的非相鄰範圍,請用括弧括住參照。

    • 如果參照的每個區域只包含一列或一欄,則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 函數的陣列形式,並使用另一個函數來計算組成陣列的範圍。  例如,您可以使用 CHOOSE 函數來計算要使用哪個範圍。

例如,如果 Reference 描述儲存格 (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 指定的參照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?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×