免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac549LINE 與社群533Google 服務468Office 教學467Windows 與電腦458Android 手機402網路新知374AI 工具132
Office 教學

Excel XMATCH 函數用法:取代 MATCH 的進階搜尋定位功能

XMATCH 函數可以尋找特定值在範圍中的相對位置。與舊版 MATCH 相比,XMATCH 預設執行完全比對,且新增了從最後一筆資料往回搜尋的功能,語法更簡潔。

Excel XMATCH 函數語法

=XMATCH(查閱值, 查閱陣列, [比對模式], [搜尋模式])
參數必填說明
查閱值是要尋找的目標值。
查閱陣列是要進行搜尋的單一列或單一欄範圍。
比對模式選填指定尋找方式。0 為完全比對(預設);-1 為完全比對或下一個較小值;1 為完全比對或下一個較大值;2 為萬用字元比對。
搜尋模式選填指定搜尋方向。1 為從第一筆到最後一筆(預設);-1 為從最後一筆到第一筆;2 與 -2 用於已排序資料的二進位搜尋。

回傳:查閱值在陣列中的相對位置(數值)。

適用版本:Microsoft 365、Excel 2021 以上版本。

XMATCH 函數範例

範例 1:基本完全比對

尋找特定員工在名單中的位置(預設完全比對)。

員工編號姓名部門
E001陳怡君業務部
E002林家豪行銷部
E003王小明資訊部
E004張雅婷人資部

在 D2 輸入公式:

=XMATCH("王小明", B2:B5)

結果:3。XMATCH 預設執行完全比對,在 B2:B5 範圍中尋找「王小明」,該姓名位於範圍內的第 3 個位置,因此傳回 3。

範例 2:由下而上搜尋

尋找特定產品最後一次進貨的位置。

進貨日期產品數量
2026/10/01滑鼠50
2026/10/05鍵盤30
2026/10/12滑鼠20
2026/10/18螢幕10
2026/10/20滑鼠40

在 D2 輸入公式:

=XMATCH("滑鼠", B2:B6, 0, -1)

結果:5。第三個參數設為 0 代表完全比對,第四個參數設為 -1 代表從最後一筆往回搜尋。範圍中最後一次出現「滑鼠」在第 5 列,傳回 5。

範例 3:尋找下一個較小值

根據消費金額尋找適用的折扣等級。

消費門檻折扣
0無折扣
1000九折
3000八折
5000七折

在 C2 輸入公式:

=XMATCH(2500, A2:A5, -1)

結果:2。尋找金額 2500,參數 -1 表示若找不到完全符合的值,則找下一個較小值(1000),1000 位於範圍的第 2 個位置,傳回 2。

使用 XMATCH 的技巧與注意事項

  • XMATCH 經常與 INDEX 函數搭配使用,用來取代傳統的 INDEX 和 MATCH 組合,語法更簡短且預設完全比對,比較不容易出錯。
  • 當資料量龐大且已經過排序時,可以將搜尋模式設為 2 或 -2(二進位搜尋),這能大幅提升公式的運算速度。
  • 使用萬用字元(? 或 *)時,必須將比對模式明確設定為 2,否則函數會將萬用字元視為一般文字處理而找不到結果。

XMATCH 常見錯誤與解決方法

錯誤原因解決方法
#N/A找不到符合查閱值的項目。確認查閱值是否存在於陣列中,或檢查比對模式是否設定正確。
#VALUE!查閱陣列包含超過一列和一欄的範圍(例如 A1:B5)。XMATCH 的查閱陣列只能是單一列或單一欄,請修正範圍設定。

Google 試算表可以用 XMATCH 嗎?

Google 試算表已支援 XMATCH 函數,語法與參數設定與 Excel 完全相同。

下載 XMATCH 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:XMATCH 範例.xlsx(範例公式的結果經過兩個模型交叉核對)。

常見問題

XMATCH 和 MATCH 有什麼不同?

XMATCH 是 MATCH 的新版本。XMATCH 預設為完全比對,不需要像 MATCH 每次都要輸入 0。此外,XMATCH 支援由下而上的搜尋模式,不需要依賴其他複雜的公式組合。

XMATCH 可以傳回儲存格的值嗎?

不行,XMATCH 只會傳回項目在範圍中的相對位置(數字)。如果需要直接傳回儲存格的值,請使用 XLOOKUP 函數,或將 XMATCH 搭配 INDEX 函數使用。

為什麼使用萬用字元搜尋卻找不到資料?

XMATCH 預設的比對模式是完全比對(0)。如果要使用星號(*)或問號(?)進行模糊搜尋,必須將第三個參數「比對模式」明確設定為 2,函數才會識別萬用字元。

相關函數

這篇收錄在「Excel 函數字典」。