XMATCH 函数在数组或单元格区域中搜索指定项,然后返回项的相对位置。
假设单元格 C3 到 C7 中有一个产品列表,我们希望确定单元格 E3 中的产品在列表中的位置。 在这里,我们将使用 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 按降序排序的二进制搜索。 如果未排序,将返回无效结果。 |
示例
示例 1
与“Gra”值完全匹配或最接近的第一个短语的确切位置在下面的示例中确定。
公式: XMATCH (E3,C3:C7,1)
示例 2
有资格获得奖金的销售人员人数在以下示例中确定。 为了发现列表中最接近的项或完全匹配项,这还对match_mode使用 1;但是,由于数据是数值型的,因此会返回值计数。 由于有 4 个销售代表在此实例中超过了奖金金额,因此函数产生 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 技术社区中咨询专家或在社区中获取支持。