使用 XLOOKUP 函數在表格或以列為主的範圍中尋找項目。 例如,按零件編號查找汽車零件的價格,或根據員工 ID 查找員工姓名。 使用 XLOOKUP,您就可以在一欄中尋找搜尋字詞,並從另一欄中相同列傳回結果,而不論傳回欄位於哪一邊。
注意
XLOOKUP 不適用於 Excel 2016 和 Excel 2019。 不過,如果活頁簿是由其他人使用較新版本的 Excel 所建立,您可能會遇到在 Excel 2016 或 Excel 2019 中使用包含 XLOOKUP 函數的情況。
語法
XLOOKUP 函數會搜尋範圍或陣列,然後傳回與它找到的第一個相符項目對應的項目。 如果不存在相符項目,則 XLOOKUP 可以傳回最接近 (大約相符) 。
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
| 引數 | 描述 |
|---|---|
|
lookup_value 必要* |
要搜尋的值 *如果省略,XLOOKUP 會傳回它在 lookup_array 中找到的空白儲存格。 |
|
lookup_array 必要 |
要搜尋的陣列或範圍 |
|
return_array 必要 |
要傳回的陣列或範圍 |
|
[if_not_found] 選擇性 |
如果找不到有效的相符項目,請傳回您提供的 [if_not_found] 文字。 如果找不到有效的相符項目,且遺失 [if_not_found],則會傳回 #N/A 。 |
|
[match_mode] 選擇性 |
指定相符類型: 0 - 完全相符。 如果找不到,請傳回 #N/A。 這是預設值。 -1 - 完全相符。 如果找不到,請退回下一個較小的項目。 1 - 完全相符。 如果找不到,請傳回下一個較大的項目。 2: 萬用字元比對,其中 *、?和 ~ 具有特殊意義。 |
|
[search_mode] 選擇性 |
指定要使用的搜尋模式: 1 - 從第一個項目開始執行搜尋。 這是預設值。 -1 - 從最後一個項目開始執行反向搜尋。 2 - 執行依賴於lookup_array以 遞增 順序排序的二進位搜尋。 如果未排序,將會傳回無效結果。 -2: 執行二進位搜尋,依賴 lookup_array 以遞減順序排序搜尋。 如果未排序,將會傳回無效結果。 |
範例
範例 1 使用 XLOOKUP 在某個範圍內查詢國家/地區名稱,然後傳回其電話國家/地區代碼。 它包含 lookup_value (儲存格 F2) 、 lookup_array (範圍 B2:B11) ,以及 return_array (範圍 D2:D11) 引數。 它不包含 match_mode 引數,因為 XLOOKUP 預設會產生完全相符的項目。
注意
XLOOKUP 使用查閱陣列和傳回陣列,而 VLOOKUP 則使用單一表格陣列後面接著欄索引號碼。 在此情況下,同等的 VLOOKUP 公式為: =VLOOKUP (F2,B2:D11,3,FALSE)
———————————————————————————
範例 2 根據員工識別碼來查詢員工資訊。 與 VLOOKUP 不同,XLOOKUP 可以傳回包含多個項目的陣列,因此單一公式可以同時傳回儲存格 C5:D14 中的員工名稱和部門。
———————————————————————————
範例 3 會在上述範例中新增 if_not_found 引數。
———————————————————————————
範例 4 在 C 欄中尋找儲存格 E2 中輸入的個人收入,並在 B 欄中找到相符的稅率。它會將 if_not_found 引數設定 (如果找不到任何內容,則傳回 0 零) 。 match_mode引數設1為 ,表示函數會尋找完全相符的項目,如果找不到,則傳回下一個較大的項目。 最後, search_mode 引數設定為 1,表示函數會從第一個項目搜尋到最後一個項目。
注意
XARRAY 的 lookup_array 欄位於 return_array 欄的右側,而 VLOOKUP 只能從左至右查看。
———————————————————————————
範例 5 使用巢狀 XLOOKUP 函數來執行垂直和水平比對。 它會先在 B 欄中尋找毛 利 ,然後尋找資料表頂列中的 Qtr1 (範圍 C5:F5) ,最後傳回兩者交集處的值。 這類似於搭配使用 INDEX 和 MATCH 函數。
秘訣
您也可以使用 XLOOKUP 取代 HLOOKUP 函數。
注意
儲存格 D3:F3 中的公式是: =XLOOKUP (D2,$B 6:$B 17,XLOOKUP ($C 3,$C 5:$G 5,$C 6:$G 17) ) 。
———————————————————————————
範例 6 使用 SUM 函數及兩個巢狀 XLOOKUP 函數,來加總兩個範圍之間的所有值。 在這種情況下,我們要加總 grapes、bananas 的值,並包含介於兩者之間的 pears。
儲存格 E3 中的公式為: =SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))
運作方式為何? XLOOKUP 會傳回一個範圍,因此計算時公式最後看起來像這樣: =SUM($E$7:$E$9)。 您可以選取具有類似此公式的 XLOOKUP 公式的儲存格,然後選取 [ 公式]>[公式稽核>] [評估公式],然後選取 [ 評估 ] 以逐步執行計算,您可以自行查看其運作方式。
注意
感謝 Microsoft Excel MVP Bill Jelen 建議此範例。
———————————————————————————