![]() |
|
XMATCH函数在数组或单元格区域搜索指定项,然后返回该项的相对位置。 在这里,我们将使用 XMATCH 查找列表中项目的位置。
语法
XMATCH 函数返回项在数组或单元格区域的相对位置。
=XMATCH (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 按降序排序的二进制搜索。 如果未排序,将返回无效结果。 |
示例
以下示例查找第一个术语的位置,该位置与值完全匹配或下一个 (,即以"Gra") 开头。
下一个示例查找有资格获得奖励的销售人员数量。 这也使用 1 作为match_mode查找精确匹配或列表中的下一个最大项,但由于数据是数值,因此返回值的计数。
在这种情况下,函数返回 4,因为有 4 个销售代表超过了奖励金额。
接下来,我们将使用 INDEX/XMATCH/XMATCH 的组合来执行同时垂直和水平查找。 在这种情况下,我们希望返回给定销售代表和给定月份的销售额。
这类似于结合使用 INDEX和 MATCH 函数,只不过它需要较少的参数
您也可以使用 XMATCH 返回数组中的值。 例如 ,=XMATCH (4,{5,4,3,2,1}) 将返回 2,因为 4 是数组中的第二项。
这是精确匹配方案,而 =XMATCH (4.5,{5,4,3,2,1},1) 返回 1, 因为 match_mode 参数 (1) 设置为返回精确匹配或下一个最大项,即 5。
相关功能