XMATCH 函數會搜尋陣列或儲存格範圍中指定的項目,然後傳回該項目的相對位置。
假設我們有一份位於 C3 到 C7 格子的產品清單,並想判斷 E3 格子的產品在列表中的位置。 在這裡,我們將使用 XMATCH 來判斷項目在列表中的位置。
語法
XMATCH 函數傳回項目在陣列或儲存格範圍中的相對位置。
=MATCH(lookup_value, lookup_array, [match_mode], [search_mode])
|
引數 |
描述 |
|---|---|
|
lookup_value 必要 |
查閱值 |
|
lookup_array 必要 |
要搜尋的陣列或範圍 |
|
[match_mode] 選擇性 |
指定相符類型: 0: 完全相符 (預設值) -1: 完全相符或下一個最小項目 1: 完全相符或下一個最大項目 2: 萬用字元比對,其中 *、?和 ~ 具有特殊意義。 |
|
[search_mode] 選擇性 |
指定搜尋類型: 1: 從第一個到最後搜尋 (預設值) -1: 從最後到第一個搜尋 (反向搜尋)。 2: 執行二進位搜尋,依賴 lookup_array 以遞增順序排序搜尋。 如果未排序,將會傳回無效結果。 -2: 執行二進位搜尋,依賴 lookup_array 以遞減順序排序搜尋。 如果未排序,將會傳回無效結果。 |
範例
範例 1
第一個與「Gra」的值完全匹配或最接近的短語的確切位置,會在以下範例中確定。
公式: XMATCH (E3,C3:C7,1)
範例 2
有資格獲得獎金的銷售人員人數如下例所示。 為了找出列表中最接近的項目或完全匹配的項目,這也使用 1 作為match_mode;然而,由於資料是數值,它會回傳一個數值計數。 由於有四位銷售代表在此例中超過獎金金額,函數得出 4 人。
Formula=XMATCH (F2,C3:C9,1)
範例 3
接著,我們將同時進行垂直與水平查找,使用 INDEX/XMATCH/XMATCH 的混合。 在這種情況下,我們希望某位銷售代表和某個月份的銷售總額能被退還。 這類似於結合 INDEX 與 MATCH 方法,但所需參數較少。
Formula=INDEX (C6:E12,XMATCH (B3,B6:B12) ,XMATCH (C3,C5:E5) )
範例 4
此外,XMATCH 可用來回傳陣列中的值。 =XMATCH (4,{5,4,3,2,1}) 會提供 2,因為 4 是陣列的第二個項目。 雖然 =XMATCH (4.5,{5,4,3,2,1},1) 在此精確匹配情況下會產生 1,但 match_mode (1) 參數則設定為回傳完全匹配或下一個較大的項目 5。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。