說明
使用此函式在陣列或儲存格範圍中搜尋指定項目,並傳回該項目的相對位置。
XMATCH 是 MATCH 功能的進階版本。它可以執行精確或近似匹配,並可以升序或降序搜尋。
XMATCH 在幾個方面與 MATCH 不同:
- XMATCH 支援二進位搜尋,在大型排序資料集上效能更快
- XMATCH 允許在精確匹配模式中使用萬用卡字元
- 如果找不到完全匹配的項目,XMATCH 可以返回下一個較大或較小的項目
語法
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
輸入
此函式接受下列參數
| 名稱 | 必要 | 說明 | 有效輸入 |
|---|---|---|---|
lookup_value |
是 | 要在 lookup_array 中搜尋的數值。 | 一個數字、一個文字串、一個邏輯值、一個單元格參照、一個單元格範圍,或一個會產生任何這些結果的公式。 |
查詢陣列 |
是 | 要搜尋的儲存格範圍。 | 結果為其中之一的儲存格引用、儲存格範圍或公式。 |
match_mode |
沒有 | 如何匹配lookup_value 。 |
0 (精確匹配), [預設] -1 (精確匹配或下一個較小的項目) 1 (精確匹配或下一個較大的項目) 2 (通配符匹配) 結果為任何這些的公式也是可以接受的。 |
搜尋模式 |
沒有 | 要使用的搜尋模式。 |
1 (搜尋先到後)、[預設] |
範例
範例資料
| A | B | |
|---|---|---|
| 1 | Apple | $1.25 |
| 2 | Banana | $0.75 |
| 3 | 櫻桃 | $2.50 |
| 4 | 日期 | $3.00 |
公式範例
| 使用案例 | 公式 | 說明與結果 |
|---|---|---|
| 尋找精確值在清單中的相對位置。 | =XMATCH("Cherry", A2:A6) |
此公式的工作方式如下:
對於此資料集,公式回報3 。 |
| 透過尋找大於或等於查詢值的最小值來尋找值的相對位置。 | =xmatch(1, b2:b6, 1) |
此公式的工作方式如下:
對於此資料集,公式設定返回4 。 |
| 使用通配符搜尋在清單中尋找值。 | =xmatch("g*", a2:a6, 2) |
此公式的工作方式如下:
對於此資料集,公式回報#N/A 。 |
| 從清單中的最後一項開始搜尋,尋找值的相對位置。 | =XMATCH("Date", A2:A6, 0, -1) |
此公式的工作方式如下:
對於此資料集,公式返回4 。 |
| 尋找小於或等於查詢值的最大值,找出數值的相對位置。 | =xmatch(1.5, b2:b6, -1) |
此公式的工作方式如下:
對於此資料設定,公式會回傳4 。 |
附註
- XMATCH 返回匹配項目在 lookup_array 中的相對位置。
- 如果未找到匹配且未指定近似匹配,XMATCH 會返回 #N/A。
- 對於二進位搜尋 (
search_mode=2 或-2),lookup_array必須以升序或降序方式排序。 - 只有當 match_mode 設定為 2 時,才支援通配符 (* 和 ?)。
- 匹配文字值時,XMATCH 不區分大小寫。
提示
- 使用 XMATCH 與XLOOKUP 進行強大、靈活的查詢操作。
- 對於大型排序資料集,請使用二進位搜尋 (
search_mode2 或-2) 以獲得更佳效能。 - 當處理未排序的資料時,請使用
search_mode1 或-1 以確保結果準確。 - 您可以結合 XMATCH 與其他功能,例如INDEX ,以執行進階資料檢索任務。