目錄
ToggleINDEX MATCH函數全面解析
INDEX與MATCH函數基本概念與語法
在Excel進行資料查找時,INDEX與MATCH是兩個極為靈活且強大的函數。
– INDEX:根據指定的行號與列號,從資料範圍中返回對應的值。
– MATCH:在指定範圍內尋找特定值,並返回其相對位置。
INDEX語法說明
INDEX(array, row_num, [column_num])
- array:資料範圍(必填)
- row_num:要抓取的行號(必填)
- column_num:要抓取的列號(選填,預設為第一列)
MATCH語法說明
MATCH(lookup_value, lookup_array, [match_type])
- lookup_value:要查找的值(必填)
- lookup_array:查找範圍(必填)
- match_type:匹配方式,0為精確、1為小於等於、-1為大於等於(選填,預設為1)
常見應用場景:
– 根據員工姓名查找工號
– 根據產品編號查詢庫存
– 根據專案代碼取得負責人
INDEX MATCH與VLOOKUP比較
功能比較表
功能/特性 | INDEX MATCH | VLOOKUP |
---|---|---|
查找方向 | 可橫向、縱向、雙向查找 | 僅能左到右查找 |
插入/刪除欄位影響 | 不受影響 | 受影響(欄位順序變動會錯誤) |
支援多條件查找 | 支援(需進階組合) | 不支援 |
查找速度 | 大型資料表更快 | 較慢 |
動態範圍支援 | 良好 | 需額外設定 |
易用性 | 需組合公式,略複雜 | 單一公式,較簡單 |
適用情境說明
- INDEX MATCH:適合需橫向/縱向查找、欄位常變動、需多條件查找或處理大型資料表時。
- VLOOKUP:適合簡單、固定格式的資料查找。
實務案例:
專案管理表格經常因需求調整欄位順序,使用INDEX MATCH可避免公式錯誤,維護更容易。
INDEX MATCH實戰教學
單一條件查找範例
假設有下列表格(A1:B6):
姓名 | 年齡 |
---|---|
John | 25 |
Mary | 30 |
Tom | 22 |
Lucy | 28 |
David | 35 |
目標:查找「Tom」的年齡。
公式:
=INDEX(B2:B6, MATCH("Tom", A2:A6, 0))
MATCH("Tom", A2:A6, 0)
返回3(Tom在第3行)INDEX(B2:B6, 3)
返回22
錯誤處理建議:
若查無資料,會出現#N/A,可搭配IFERROR提升友善度:
=IFERROR(INDEX(B2:B6, MATCH("Tom", A2:A6, 0)), "查無此人")
產業應用:
– 人資根據員工姓名查詢年資
– 客服根據客戶名稱查詢聯絡資訊
多條件查找與二維查找
多條件查找(如姓名+城市)
假設有下列表格(A1:C6):
姓名 | 城市 | 年齡 |
---|---|---|
John | New York | 25 |
Mary | Los Angeles | 30 |
Tom | Chicago | 22 |
Lucy | Houston | 28 |
David | Phoenix | 35 |
目標:查找「Tom」且城市為「Chicago」的年齡。
公式(需陣列公式,輸入後按Ctrl+Shift+Enter):
=INDEX(C2:C6, MATCH(1, (A2:A6="Tom")*(B2:B6="Chicago"), 0))
(A2:A6="Tom")*(B2:B6="Chicago")
產生邏輯陣列,兩條件皆符合時為1MATCH(1, ..., 0)
找到符合條件的行號
二維查找(INDEX MATCH MATCH)
假設有下列表格(A1:D6):
姓名 | 年齡 | 城市 | 部門 |
---|---|---|---|
John | 25 | New York | IT |
Mary | 30 | Los Angeles | HR |
Tom | 22 | Chicago | Sales |
Lucy | 28 | Houston | IT |
David | 35 | Phoenix | HR |
目標:查找「Lucy」的「部門」。
公式:
=INDEX(B2:D6, MATCH("Lucy", A2:A6, 0), MATCH("部門", B1:D1, 0))
- 第一個MATCH找出Lucy的行號
- 第二個MATCH找出「部門」在第幾欄
實務應用:
– 報表根據專案名稱與月份查找預算
– 庫存表根據產品與地點查詢現有數量
進階應用技巧
動態命名範圍
若資料表會持續增減,建議使用Excel的「表格」功能或定義動態命名範圍,讓INDEX MATCH自動適應資料變動。
陣列公式與多重條件
多條件查找可進一步結合SUMPRODUCT、FILTER等函數,提升彈性。
結合其他函數
- IFERROR:處理查無資料時的友善提示
- OFFSET:動態擴展查找範圍
- SUMPRODUCT:多條件加總或查找
範例:
查找「部門為IT」且「年齡大於25」的所有姓名:
=TEXTJOIN(", ", TRUE, IF((D2:D6="IT")*(B2:B6>25), A2:A6, ""))
(需陣列公式)
常見問題與錯誤排查
常見錯誤訊息解析
- #N/A:查無符合條件的資料。
- 檢查查找值是否正確、是否有多餘空格、大小寫是否一致。
- #REF!:引用範圍錯誤。
- 檢查INDEX或MATCH的範圍設定是否正確。
- #VALUE!:參數類型錯誤。
- 檢查公式中是否有不正確的資料型態。
FAQ:INDEX MATCH常見疑問
Q1:INDEX MATCH可以跨工作表查找嗎?
A:可以,只需將範圍參照設為其他工作表即可,例如:
=INDEX(工作表2!B2:B100, MATCH("Tom", 工作表2!A2:A100, 0))
Q2:Google Sheets可以用INDEX MATCH嗎?
A:可以,語法與Excel相同,但Google Sheets支援動態陣列,部分多條件查找可直接使用FILTER函數。
Q3:INDEX MATCH為何比VLOOKUP快?
A:INDEX MATCH僅查找所需範圍,且不需整列比對,處理大型資料表時更有效率。
Q4:如何避免查找失敗?
A:建議搭配IFERROR、TRIM去除空格,並確認資料一致性。
實務案例與應用建議
專案管理/人事/庫存等範例
專案管理:
– 根據專案代碼快速查找負責人、進度或預算。
– 例如:
=INDEX(進度表!C2:C100, MATCH("P001", 進度表!A2:A100, 0))
人事管理:
– 根據員工姓名查詢部門、職稱、入職日期。
– 多條件查找(如姓名+部門)可精準定位。
庫存查詢:
– 根據產品編號與倉庫地點查詢現有庫存。
– 二維查找可同時比對產品與地點。
效率提升與自動化建議
- 結合Excel的「表格」功能,讓資料範圍自動擴展,減少手動維護。
- 若需多表格或多團隊協作,建議考慮專業雲端專案管理平台,如[Monday.com]、[ClickUp]等,這些工具支援多維資料查找、動態篩選與自動化,能大幅提升團隊協作與資料管理效率。
- 對於需處理大量PDF或表單資料的團隊,可搭配[pdfFiller]、[SignNow]等工具,將查找結果自動填入文件,提升整體流程自動化。
結論與工具推薦
INDEX MATCH學習重點回顧
INDEX MATCH組合是Excel進階查找的核心技巧,具備彈性高、效率佳、可多條件與二維查找等優勢。無論是專案管理、人事、庫存還是報表自動化,都能靈活應用。建議熟練掌握基本語法、進階應用與錯誤排查,並結合自動化工具,讓資料查找更高效。
推薦專業數據管理工具
若需進一步提升團隊資料協作與查找效率,建議可評估[Monday.com]、[ClickUp]、[Notion]等現代化平台,這些工具支援多維資料管理、動態篩選與自動化流程,適合專案管理、跨部門協作或大規模資料處理需求。