Excel INDEX 取值 / MATCH 找位置函數:比 VLOOKUP 更強大、更靈活的查詢術

雖然 VLOOKUP 是名氣最響亮的查詢函數,但許多 Excel 資深使用者更推崇 INDEXMATCH 的組合。為什麼呢?因為這個雙劍合璧的組合完美解決了 VLOOKUP 「無法向左搜尋」的遺憾,且在處理大型資料表時動能更強、不容易出錯。

如果你使用的是舊版 Excel(沒有 XLOOKUP),那麼掌握 INDEX + MATCH 就是你向進階邁進的里程碑。

在合成大招之前,我們先分別拆解這兩個函數的功能:

INDEX:根據座標「取值」

=INDEX(範圍, 第幾列, [第幾欄])

給它一個範圍與編號,它就把該位置的內容抓出來給你。就像是去電影院按照「排、號」找到座位。

  • 範例=INDEX(A1:A10, 3) 會傳回該範圍中的第 3 個儲存格內容。

MATCH:根據內容「找位置」

=MATCH(找什麼, 去哪裡找, [比對模式])

它不傳回內容,而是告訴你目標在範圍中排行「第幾」。

  • 範例:若 A1:A3 是「蘋果、香蕉、橘子」,則 =MATCH("香蕉", A1:A3, 0) 會傳回 2
  • 注意:最後一個參數建議始終輸入 0 以進行精確比對。

合體技:自動化查詢

當我們將 MATCH 放在 INDEX 的「第幾列」參數位置時,奇蹟就發生了:MATCH 負責找到位置標號,INDEX 則根據該標號抓出對應資料。

語法結構

=INDEX(要抓取的結果欄, MATCH(搜尋目標, 搜尋對象欄, 0))

實戰應用:解決 VLOOKUP 的「向左搜尋」難題

假設:

  • A 欄是「員工姓名」
  • B 欄是「員工編號」 你想透過「員工編號」找「姓名」。因為姓名在編號的左邊,VLOOKUP 無法直接執行。
  • 公式=INDEX(A:A, MATCH("E001", B:B, 0))
  • 解析
    1. MATCH("E001", B:B, 0):先去 B 欄找編號 E001,假設找到它在第 5 行。
    2. INDEX(A:A, 5):接著 INDEX 去 A 欄的第 5 行把名字抓出來。

為什麼 INDEX + MATCH 比 VLOOKUP 更好?

  1. 搜尋方向不設限:可以向左找、向右找,完全不受資料欄位順序影響。
  2. 效能更高:處理數萬行資料時,INDEX + MATCH 的運算速度通常優於 VLOOKUP,因為它不需要讀取整個表格範圍。
  3. 不怕插入欄位:VLOOKUP 依賴固定的「欄位指數數字」,插入一欄公式就毀了;INDEX + MATCH 引用的是整欄範圍,插入欄位時 Excel 會自動調整引用對象,公式依然穩如泰山。

二維查詢:行列交叉搜尋

這才是 INDEX + MATCH 真正的威力展現。當你想在一個矩陣中同時根據「列標題」與「欄標題」找到對應值(例如:找某個月、某位業務的業績)。

  • 語法=INDEX(整個區域, MATCH(列目標, 列範圍, 0), MATCH(欄目標, 欄範圍, 0))
  • 這讓 Excel 變成了一個可以隨時呼叫特定座標數值的強大資料庫。
如果你使用的是最新版的 Microsoft 365,請優先使用 XLOOKUP,因為它更簡潔。但如果你必須處理別人的舊檔案、或是身處不支援新版的辦公環境,INDEX + MATCH 就是你最強大的技術底牌。