語法
XLOOKUP 函式
搜尋區域或數組,然後返回對應於它找到的第一個匹配項的項。 如果不存在匹配項,則 XLOOKUP 可以返回最接近 (匹配) 值。
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
參數 | 說明 |
---|
| 查找值 *如果省略,則使用空白單元格進行匹配。 注意: 空字元串與空白單元格不同,無效 用於lookup_value,並生成錯誤。 |
| |
| |
| 如果找不到有效匹配項,則返回你if_not_found的 [if_not_found] 文本。 如果未找到有效匹配項,並且缺少 [if_not_found],則#N/A。 |
| 指定匹配類型: 0 - 完全匹配。 如果未找到,則返回 #N/A。 這是默認選項。 -1 - 完全匹配。 如果沒有找到,則返回下一個較小的項。 1 - 完全匹配。 如果沒有找到,則返回下一個較大的項。 2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含義。 |
| 指定要使用的搜尋模式: 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 基於員工 ID 號查找員工信息。 與 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 列中查找 " 總利潤",然後在表的首行中查找第 1 季度 (區域 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 函式對兩個範圍之間的所有值求和。 在這種情況下,我們要對
香蕉、香蕉和包括梨的值求和,這兩者之間是一對。
單元格 E3 中的公式為:=SUM (XLOOKUP (B3,B6:B10,E6:E10) :XLOOKUP (C3,B6:B10,E6:E10) )
它如何工作? XLOOKUP 返回一個範圍,因此在計算時,公式最終如下所示:=SUM ($E$7:$E $9) 。 通過選擇具有類似於此公式的 XLOOKUP 公式的單元格,然後選擇"公式
>公式審核
">"計算公式",然後選擇"計算"以逐步執行計算,可自行了解其工作方式。