XLOOKUP
函数会根据在查询范围中找到匹配值的位置,返回相应值在结果范围中的对应值。如果未找到匹配值,则返回最接近的匹配值。交叉查询。在搜索列中找到匹配值时,返回相应值在数据列中的对应值。
用法示例
=XLOOKUP("Apple",table_name!fruit,table_name!price)
语法
XLOOKUP(search_key,lookup_range,result_range,missing_value,match_mode)
search_key
:要搜索的值,例如,42
、"Cats"
或B24
。search_column
:要搜索的列。result_column
:结果值所在的列。missing_value
:[可选 - 默认值为#N/A
] 如果未找到匹配值,则返回此值。match_mode
:[可选 - 默认值为0
] 查找搜索值匹配值的方式。0
:表示完全匹配。1
:表示完全匹配,或寻找大于搜索值的下一个值。-1
:表示完全匹配,或寻找小于搜索值的下一个值。2
:表示通配符匹配。
提示:将 XLOOKUP 用于 BigQuery 时,search_mode
不受支持。
用法示例
XLOOKUP("Apple", A2:A, E2:E)
用于取代 VLOOKUP("Apple", A2:E, 5, FALSE)
XLOOKUP("Price", A1:E1, A6:E6)
用于取代 HLOOKUP("Price", A1:E6, 6, FALSE)
XLOOKUP
,其中的匹配值列位于输出列的右侧XLOOKUP("Apple", E2:E7, A2:A7)
。等效的 VLOOKUP
函数是 VLOOKUP("Apple", {E2:E7, A2:A7}, 2, FALSE)
语法
XLOOKUP(search_key, lookup_range, result_range, missing_value, match_mode, search_mode)
search_key
:要搜索的值,例如,42
、"Cats"
或B24
。lookup_range
(查询范围):要搜索的范围。此范围必须为单行或单列。result_range
(结果范围):结果值所在的范围。此范围的行数或列数应与lookup_range
相同,具体取决于查询方式。missing_value
:[可选 - 默认值为#N/A
] 如果未找到匹配值,则返回此值。match_mode
(匹配模式):[可选 - 默认值为0
] 查找search_key
匹配值的方式。0
表示完全匹配。1
表示完全匹配,或寻找大于search_key
的下一个值。-1
表示完全匹配,或寻找小于search_key
的下一个值。2
表示通配符匹配。
search_mode
(搜索模式):[可选 - 默认值为1
] 搜索lookup_range
的方式。1
表示从第一个条目搜索到最后一个条目。-1
表示从最后一个条目搜索到第一个条目。2
表示使用二进制搜索对范围进行搜索,并且需要先将范围按升序排序。-2
表示使用二进制搜索对范围进行搜索,并且需先将范围按降序排序。
备注
- 如果
result_range
有多个行或列,则输出将是lookup_range
中发现匹配值所在位置的一整行/列数据。
示例
所有示例的对照表。
XLOOKUP
函数查询总销售额(省略了 match_mode
和 search_mode
,并且指定了 missing_value)。使用
XLOOKUP
函数查询总销售额(match_mode = 0
且 search_mode = 1
和 -1
)。使用
XLOOKUP
函数查询总销售额(match_mode = 1
和 -1
,且省略了 search_mode
)。使用
XLOOKUP
以横向方式寻找值,并返回整列数据。