說明
使用此函式,可在陣列或儲存格範圍中搜尋指定項目,並傳回該項目的相對位置。
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 (搜尋先到後)、[預設] -1 (搜尋後到先) 2 (二進位搜尋升序) -2 (二進位搜尋降序)。 結果為以上任何一項的公式也是可以接受的。 |
範例
樣本資料
| 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 ,以執行進階資料檢索任務。