重點摘要:
- 傳統 Excel 查詢方法如 VLOOKUP 和 INDEX MATCH 需要技術知識,且當欄位變動時容易出錯
- Excelmatic 透過讓您使用簡單語言指令執行資料查詢,消除了公式複雜性
- 與傳統方法相比,Excelmatic 能自動處理複雜查詢需求,無需擔心欄位位置或語法錯誤
- 對商務專業人士而言,採用 AI 工具意味著更快的資料洞察速度,以及更多用於分析而非技術實作的時間
在 Excel 中查詢資料時,許多人首先想到的是 VLOOKUP()。但如果您追求更高的靈活性和效率,INDEX MATCH 組合函數無疑是更好的選擇。它結合了 INDEX() 和 MATCH() 函數,提供了更強大的資料查詢方式。
本指南將詳細說明 INDEX() 和 MATCH() 的使用方法,展示它們如何協同工作,並與傳統方法和現代 AI 工具 進行比較。無論您是 Excel 專家還是希望簡化工作流程的初學者,都能在這裡找到最適合的解決方案。
什麼是 Excel 中的 INDEX MATCH?
INDEX MATCH 是巢狀函數組合 INDEX(MATCH()) 的簡稱。要理解它的強大功能,我們首先需要分別理解這兩個函數。
INDEX() 函數
INDEX() 函數可以從範圍或表格的指定位置返回值或對值的引用。它有兩種形式:陣列形式和引用形式。
陣列形式
處理固定表格或陣列時使用陣列形式。INDEX() 根據您指定的行號和列號提取對應值。其語法為:
INDEX(array, row_num, [column_num])
參數說明:
array(必填):您要操作的儲存格範圍或值陣列。row_num(必填):您要返回值的行號。column_num(選填):您要返回值的列號。
您需要指定 row_num 或 column_num 至少一項,Excel 才能定位值。
使用此語法時請注意:
- 如果陣列只有一行或一列,可以省略
row_num或column_num。 - 如果同時提供了
row_num和column_num,INDEX將返回它們交點處的值。 - 如果將
row_num或column_num設為0,Excel 會返回整列或整行(需要以陣列公式輸入才能看到結果)。
引用形式
當您需要處理多個範圍並指定查詢區域時使用引用形式。
其語法為:
INDEX(reference, row_num, [column_num], [area_num])
參數說明:
reference(必填):對一個或多個儲存格範圍的引用。row_num(必填):所選範圍內的行號。column_num(選填):所選範圍內的列號。area_num(選填):當reference包含多個區域時,指定要使用的區域。
其他注意事項:
- 如果省略
area_num,Excel 預設使用第一個區域。 - 在此形式中,引用的區域不能來自不同的工作表,否則會導致錯誤。
- 如果同時省略行號和列號,函數將返回整個指定區域。
MATCH() 函數
MATCH() 函數可幫助您找到特定值在行或列中的位置。它返回的不是值本身,而是該值在清單中的相對位置。
其語法為:
MATCH(lookup_value, lookup_array, [match_type])
參數說明:
lookup_value(必填):您要尋找的值。lookup_array(必填):Excel 將搜尋的儲存格範圍。match_type(選填):定義 Excel 的匹配方式。預設值為1。1:找到小於或等於lookup_value的最大值(要求陣列為升序排列)。0:尋找完全匹配(無需排序)。-1:找到大於或等於lookup_value的最小值(要求陣列為降序排列)。
MATCH 函數不區分大小寫。如果要在文字中使用萬用字元(如 * 或 ?),請確保將 match_type 設為 0,因為只有此模式支援萬用字元搜尋。
INDEX() 和 MATCH() 如何協同工作?
將 MATCH() 與 INDEX() 結合使用是其最常見的用途之一。MATCH() 負責尋找值的位置,而 INDEX() 則根據該位置提取對應值。
通過將 MATCH() 巢狀在 INDEX() 內,您可以建立一個動態且強大的公式,即使之後新增或移動行或列,也不容易出錯。
例如,在一個樣本資料集中,如果我想找到與 A 欄中 "Banana" 對應的 B 欄值,可以使用以下 INDEX MATCH 公式:
=INDEX(B2:B5, MATCH("Banana", A2:A5, 0))
這裡,MATCH("Banana", A2:A5, 0) 首先找到 "Banana" 在 A 欄中的位置(即第 2 行),然後 INDEX(B2:B5, ...) 根據此位置返回 B 欄同一行的值。

更簡單的替代方案:使用 AI 助手

儘管 INDEX MATCH 功能強大,但編寫和理解它需要一些學習。對於追求更高效率的使用者,有一種更直觀的方法。
Excelmatic,一個 Excel AI 助手,允許您使用自然語言執行資料查詢。您無需編寫任何公式——只需上傳檔案並用任何語言提問。
對於上面的例子,您只需要問 Excelmatic:
與 A 欄中 'Banana' 對應的 B 欄值是什麼?
Excelmatic 會立即理解您的請求並提供正確答案。這種方法不僅更快,而且完全避免了公式語法錯誤引起的問題。

選擇您的查詢方法:公式 vs. AI
INDEX MATCH 可以完成 VLOOKUP 無法處理的任務。但現在,我們有更多選擇。讓我們比較一下 VLOOKUP、INDEX MATCH 和 AI 工具。
VLOOKUP vs. INDEX MATCH:傳統方法對決
1. 欄位靈活性與資料完整性
VLOOKUP 最大的缺點是依賴固定的列號。如果您插入或移動欄位,公式很可能會失敗。
例如,這個 VLOOKUP 公式:
=VLOOKUP("Apple", A2:C5, 2, FALSE)

如果在 A 欄和 B 欄之間插入新欄,原本的第三欄會移動,公式返回錯誤結果。

INDEX MATCH 通過使用定義的範圍而非硬編碼的列號來避免此問題:
=INDEX(B2:B5, MATCH("Apple", A2:A5, 0))

即使重新排列欄位,此公式仍然有效,使其更可靠且更易於維護。這就是 INDEX MATCH 的神奇之處。

2. 查詢方向與多功能性
VLOOKUP 只能從左到右查詢,這意味著您的查詢欄必須是資料範圍的第一欄。
INDEX MATCH 沒有這樣的限制。您可以向任何方向查詢:左、右、上、下。它還支援水平查詢,讓您對資料組織有更多控制權。
例如,從右向左查詢(根據顏色 "yellow" 查找水果名稱):
=INDEX(A2:A5, MATCH(“yellow”, B2:B5,0))

公式 vs. AI:資料查詢的新方式
INDEX MATCH 無疑優於 VLOOKUP,但與 Excelmatic 等 AI 工具相比,它仍然需要手動建構和除錯。
| 功能 | VLOOKUP |
INDEX MATCH |
Excelmatic (AI) |
|---|---|---|---|
| 易用性 | 中等 | 困難 | 極易(自然語言) |
| 查詢方向 | 僅能從左到右 | 任意方向 | 任意方向(AI 自動理解) |
| 欄位變動 | 容易出錯 | 穩健 | 極度穩健(不依賴欄位位置) |
| 效能 | 大型表格速度慢 | 較快 | 即時(雲端處理) |
| 學習曲線 | 較短 | 較長 | 幾乎為零 |
AI 工具的核心優勢在於流程簡化和錯誤減少。您不再需要記憶複雜的函數語法,或擔心因欄位變動導致的 #REF! 錯誤。AI 助手理解您的資料和您的問題,直接提供答案。
何時使用 INDEX MATCH:
- 您正在處理大型、動態的資料模型,其中欄位經常新增或刪除。
- 您需要向左查詢或執行水平查詢。
- 您是經驗豐富的 Excel 使用者,喜歡完全控制公式。
何時使用 AI 工具(如 Excelmatic):
- 您需要從資料中快速獲得答案,不想花時間編寫或除錯公式。
- 您不熟悉 Excel 公式,或團隊成員的 Excel 技能水平不一。
- 您的任務是探索性資料分析,需要頻繁提問。
如何使用 INDEX MATCH:逐步指南
假設您有兩個欄位:水果和銷售額。您想找到 "Apple" 的銷售額。
輸入以下 INDEX MATCH 組合公式並按 Enter:
=INDEX(B2:B6, MATCH("Apple", A2:A6, 0))
這裡,MATCH("Apple", A2:A6, 0) 找到 "Apple" 在水果清單中的位置。然後,INDEX(B2:B6, ...) 使用該位置返回銷售額欄中的對應值。

公式返回 12000,這正是 Apple 的銷售額。
避免 INDEX MATCH 錯誤
儘管 INDEX MATCH 功能強大,但如果設定不當,仍然可能返回錯誤。以下是對常見問題的疑難排解方法。
#N/A 錯誤與解決方案
#N/A 錯誤表示 Excel 找不到您要尋找的值。常見原因包括:
- 拼寫錯誤、多餘空格或文字格式不匹配。
- 該值不存在於查詢範圍中。
- 錯誤的
match_type設定(例如,需要精確匹配時使用了1而不是0)。
解決方案:
- 使用
TRIM()函數移除多餘空格:=MATCH(TRIM("Apple "), A2:A6, 0) - 使用
IFERROR()函數提供後備值:=IFERROR(INDEX(B2:B6, MATCH("Apple", A2:A6, 0)), "Not found")
#REF! 錯誤
#REF! 錯誤通常指向無效引用,可能是因為:
INDEX()和MATCH()函數的範圍大小不匹配。- 公式依賴的行或列已被刪除。
解決方案:
- 確保
INDEX()和MATCH()的範圍大小相同。 - 使用絕對引用(如
$A$2:$A$6)鎖定範圍,防止複製貼上時出現公式錯誤。
AI 如何避免這些錯誤?
使用 Excelmatic 等 AI 工具,您基本上可以告別上述公式錯誤。
- 告別
#N/A:您只需用自然語言提問。AI 能更好地處理輕微的拼寫差異,如果找不到資料,它會給出清晰的提示(如「未找到 'Apple' 的相關資料」)而不是令人困惑的錯誤代碼。 - 告別
#REF!:由於沒有手動設定的儲存格引用,因此沒有引用失效的風險。無論您如何移動、新增或刪除欄位,AI 都可以透過欄位標題(如 "Sales")理解您的資料結構。
最終結論
如果您一直依賴 VLOOKUP,現在是時候轉向更穩定、更強大的方法了。您可以先在工作檔案的副本中嘗試使用 INDEX MATCH 進行一些簡單的查詢。一旦體驗到它在處理欄位變動和複雜查詢方面的優勢,您可能再也不會回頭。
然而,技術進步為我們提供了更簡單的選擇。對於那些希望花時間分析結果而非編寫公式的人來說,像 Excelmatic 這樣的 AI 工具正在成為新標準。它們將您從複雜的語法中解放出來,讓您以最自然的方式與資料對話。
最終,選擇 INDEX MATCH 還是 AI 工具取決於您的具體需求、Excel 熟練程度以及對工作效率的追求。
準備好改變您的 Excel 工作流程了嗎?立即試用 Excelmatic,體驗 AI 驅動資料分析的強大功能。只需用簡單的語言描述您的需求,讓 Excelmatic 處理所有技術複雜性——無需學習公式,無需除錯錯誤,只需即時洞察,推動您的業務決策前進。
XLOOKUP() vs. INDEX MATCH:哪個更好?
這取決於您的使用情境。XLOOKUP() 是 Excel 365 及更新版本中引入的新函數。它設計得比 INDEX MATCH 更簡單,並且在某些情況下(如使用二進位搜尋模式)計算速度更快。但 INDEX MATCH 在所有現代 Excel 版本中都可用,並且具有更好的相容性。