用了 VLOOKUP 一段時間之後,你可能會發現它有幾個讓人頭痛的限制:只能從左往右查、關鍵字必須在第一欄、欄位順序一改就出錯。INDEX + MATCH 組合正是為了解決這些問題而存在。

這篇從 INDEX 和 MATCH 各自的用途開始說明,再教你如何把兩者組合起來,取代 VLOOKUP 完成更靈活的查詢。全程附可直接複製使用的範例公式。

如果你還不熟悉 VLOOKUP,建議先閱讀本站的 VLOOKUP 文字數字技巧教學,再回來看這篇。自學Excel系列 – 使用Vlookup函數的1個小技巧, 文字與數字之間的轉換問題(文字轉數字 數字轉文字)

內容目錄

📌 先認識 INDEX:根據位置取值

INDEX 的功能很單純:給它一個範圍和位置(第幾列、第幾欄),它就回傳那個位置的值。

語法:

=INDEX(範圍, 列號, 欄號)

舉例:假設 A1:C5 是一個資料表,要取出第3列第2欄的值:

=INDEX(A1:C5, 3, 2)

INDEX 本身用得不多,因為直接指定列號欄號並不實用——資料一變動,位置就跑掉了。真正的威力在於和 MATCH 組合使用。

📌 再認識 MATCH:找出關鍵字的位置

MATCH 的功能是:在一個範圍裡找到你指定的值,然後回傳它是第幾個位置(數字)。

語法:

=MATCH(查找值, 查找範圍, 比對類型)

比對類型幾乎都填 0,代表完全符合(跟 VLOOKUP 的 FALSE 一樣)。

舉例:在 A1:A10 裡找「陳大文」在第幾列:

=MATCH(“陳大文”, A1:A10, 0)

如果「陳大文」在 A3,MATCH 就回傳 3。這個數字,剛好可以塞進 INDEX 的列號位置。

📌 組合起來:INDEX + MATCH 查詢

把 MATCH 的結果直接放進 INDEX 的列號參數,就完成了組合:

=INDEX(回傳範圍, MATCH(查找值, 查找範圍, 0))

用實際例子說明。假設資料表如下:

A欄:員工編號B欄:姓名C欄:部門D欄:薪資
E001陳大文行銷部45,000
E002李小明工程部55,000
E003王美玲人事部42,000

要查出員工編號 E002 的薪資:

=INDEX(D2:D4, MATCH(“E002”, A2:A4, 0))

執行邏輯:

  1. MATCH(“E002”, A2:A4, 0) → 找到 E002 在第 2 個位置,回傳 2
  2. INDEX(D2:D4, 2) → 取出 D 欄第 2 個值,也就是 55,000

📌 INDEX + MATCH vs VLOOKUP:差在哪?

同樣的查詢,用 VLOOKUP 會這樣寫:

=VLOOKUP(“E002”, A2:D4, 4, FALSE)

看起來 VLOOKUP 更簡短,那為什麼還要學 INDEX + MATCH?差別在這裡:

比較項目VLOOKUPINDEX + MATCH
查詢方向只能往右左右上下皆可
關鍵字欄位限制必須在第一欄任意欄位都可以
插入欄位後是否出錯會(欄號需手動修改)不會(動態參照範圍)
公式易讀性簡短直觀稍長,需要理解結構

一般情況用 VLOOKUP 沒問題;但當資料結構複雜、或需要往左查詢時,INDEX + MATCH 是更穩健的選擇。

📌 進階用法:雙向查詢

INDEX + MATCH 還可以同時在列和欄兩個方向查詢,VLOOKUP 完全做不到這點。假設你有一個各地區各季度的銷售表,想查出「香港第三季」的數字:

=INDEX(B2:E5,

       MATCH(“香港”, A2:A5, 0),

       MATCH(“第三季”, B1:E1, 0))

邏輯拆解:

📌 常見問題

Q:MATCH 找不到值會怎樣?

會回傳 #N/A 錯誤,跟 VLOOKUP 一樣。可以用 IFERROR 包住整個公式來處理:=IFERROR(INDEX(…), “查無資料”)

Q:INDEX 的範圍和 MATCH 的範圍要一樣大嗎?

不需要。INDEX 的範圍是你要回傳值的欄(例如薪資欄),MATCH 的範圍是你要查找關鍵字的欄(例如編號欄),兩者分開指定,這正是 INDEX + MATCH 比 VLOOKUP 靈活的原因。

Q:Excel 新版本有 XLOOKUP 了,還需要學 INDEX + MATCH 嗎?

如果你用的是 Microsoft 365 或 Excel 2021 以上版本,XLOOKUP 確實更簡單。但很多公司環境仍在使用較舊版本,而且理解 INDEX + MATCH 的邏輯對學習其他函數組合也有幫助,值得掌握。

📌 總結

INDEX + MATCH 的核心概念只有一句話:

用 MATCH 找位置,用 INDEX 取值。

一開始覺得複雜是正常的,多寫幾次之後就會變成直覺。建議先用簡單的單向查詢練習,熟悉之後再試雙向查詢。

想了解更多 Excel 函數的應用,可以參考本站的 Excel 函數完整教學,包含 VLOOKUP 和 OFFSET 的詳細說明。

一個強大的Excel函數OFFSET,動態選取資料範圍一個強大的Excel函數OFFSET,動態選取資料範圍

Excel強大的組合函數練習,資料庫關鍵字搜索,Address + Match + Index + Find 組合拳