MATCH 函數的主要功能是尋找特定資料在指定範圍內的相對位置(例如第幾列或第幾欄)。它不會回傳資料本身,而是回傳數字位置,經常作為其他查閱函數的輔助工具。
Excel MATCH 函數語法
=MATCH(查閱值, 查閱範圍, [比對方式])| 參數 | 必填 | 說明 |
|---|---|---|
| 查閱值 | 是 | 要尋找的目標值,可以是數字、文字字串或儲存格參照。 |
| 查閱範圍 | 是 | 要搜尋的單一欄或單一列儲存格範圍。 |
| 比對方式 | 選填 | 輸入 0 代表完全符合,1 代表小於或等於的最大值,-1 代表大於或等於的最小值。省略時預設為 1。 |
回傳:回傳一個整數,代表查閱值在查閱範圍中的相對位置。
適用版本:Excel 2007 以上版本、Microsoft 365。
MATCH 函數範例
範例 1:尋找員工編號的位置
出勤
| 員工編號 | 姓名 |
|---|---|
| E001 | 陳怡君 |
| E002 | 林家豪 |
| E003 | 王小明 |
| E004 | 張雅婷 |
在 D2 輸入公式:
=MATCH("E003", A2:A5, 0)結果:3。尋找字串 "E003" 在 A2 到 A5 範圍中的位置。因為 "E003" 位於該範圍的第 3 個儲存格,函數回傳數字 3。
範例 2:尋找業績對應的獎金級距
業績
| 業績門檻 | 獎金等級 |
|---|---|
| 0 | D |
| 50000 | C |
| 100000 | B |
| 150000 | A |
在 D2 輸入公式:
=MATCH(85000, A2:A5, 1)結果:2。尋找數字 85000 在 A2 到 A5 中,小於或等於 85000 的最大值位置。85000 介於 50000 與 100000 之間,對應到第 2 個門檻,回傳 2。
範例 3:使用萬用字元尋找特定產品
庫存
| 產品型號 | 庫存量 |
|---|---|
| NB-X100 | 15 |
| PC-Y200 | 8 |
| NB-Z300 | 22 |
| TAB-W400 | 5 |
在 D2 輸入公式:
=MATCH("PC-*", A2:A5, 0)結果:2。尋找開頭為 "PC-" 的資料在 A2 到 A5 中的位置。星號(*)代表任意字元,比對方式設為 0 時支援萬用字元,找到 "PC-Y200" 位於第 2 個位置。
使用 MATCH 的技巧與注意事項
- MATCH 函數在進行文字比對時,不區分英文字母的大小寫。
- 當比對方式設為 0 時,查閱值可以使用萬用字元(問號 ? 代表單一字元,星號 * 代表任意字元序列)。
- 查閱範圍必須是單一欄或單一列,無法在多欄多列的二維陣列中直接搜尋。
MATCH 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #N/A | 找不到符合的資料。可能是資料不存在、文字與數字格式不一致,或是資料中含有多餘的空白字元。 | 確認查閱值與範圍內的資料格式一致,可使用 TRIM 函數清除多餘空白。 |
| #N/A | 比對方式設為 1 或 -1 時,查閱範圍沒有依照正確順序排序,導致函數無法找到正確位置。 | 根據比對方式將查閱範圍重新排序(1 為遞增排序,-1 為遞減排序),或將比對方式改為 0(完全符合)。 |
Google 試算表可以用 MATCH 嗎?
Google 試算表完全支援 MATCH 函數,語法與用法與 Excel 完全相同。
下載 MATCH 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:MATCH 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
MATCH 和 VLOOKUP 有什麼不同?
VLOOKUP 會直接回傳符合條件的資料內容,而 MATCH 只會回傳資料在範圍中的相對數字位置。MATCH 通常搭配 INDEX 函數使用,用來取代 VLOOKUP 以達到更彈性的雙向查閱。
為什麼 MATCH 函數找不到明明存在的資料?
最常見的原因是資料格式不一致,例如查閱值是數字,但範圍內的資料是文字格式的數字。另外,資料前後若有隱藏的空白字元也會導致比對失敗,建議先確認格式並清除多餘空白。
可以省略 MATCH 函數的第三個參數嗎?
可以省略,但省略時預設值為 1(尋找小於或等於的最大值),且要求資料必須遞增排序。如果目的是尋找完全相同的資料,請務必手動輸入 0,避免回傳非預期的數字位置。
相關函數
這篇收錄在「Excel 函數字典」。




