INDEX 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 Excel 2019 Excel 2016

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

有兩種方法可使用 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 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例

公式 描述 結果
=索引 ({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 可選的。 選取要從 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

頁面頂端