使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

XMATCH 函数在数组或单元格区域中搜索指定项,然后返回项的相对位置。

假设单元格 C3 到 C7 中有一个产品列表,我们希望确定单元格 E3 中的产品在列表中的位置。 在这里,我们将使用 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 按降序排序的二进制搜索。 如果未排序,将返回无效结果。

示例

示例 1

与“Gra”值完全匹配或最接近的第一个短语的确切位置在下面的示例中确定。

公式: XMATCH (E3,C3:C7,1)

一个 Excel 表,其中列出了从单元格 C3 到 C7 的不同水果产品。 XMATCH 公式用于查找表格中文本与单元格 E3) 中定义的“gra” (匹配的位置。 公式返回“2”,因为文本“葡萄”位于表中的第二个位置。

示例 2

有资格获得奖金的销售人员人数在以下示例中确定。 为了发现列表中最接近的项或完全匹配项,这还对match_mode使用 1;但是,由于数据是数值型的,因此会返回值计数。 由于有 4 个销售代表在此实例中超过了奖金金额,因此函数产生 4。

Formula=XMATCH (F2,C3:C9,1)

一个 Excel 表,其中列出了单元格 B3 到 B9 中的销售代表姓名,以及单元格 C3 到 C9 中每个代表的总销售额值。 如果销售代表达到单元格 F2 中设置的阈值金额,则 XMATCH 公式用于返回有资格获得奖金的销售代表的数量。

示例 3

接下来,我们将使用 INDEX/XMATCH/XMATCH 的组合同时执行垂直和水平查找。 在此实例中,我们希望返回特定销售代表和月份的销售总额。 这与合并 INDEXMATCH 方法相当,但它需要较少的参数。

Formula=INDEX (C6:E12;XMATCH (B3,B6B12) ,XMATCH (C3,C5:E5) )

Excel 表,其中销售代表姓名列在单元格 B6 到 B12 中,每个代表从 1 月到 3 月的销售金额列在 C、D 和 E 列中。INDEX 和 XMATCH 的公式组合用于返回单元格 B3 和 C3 中列出的特定销售代表和月份的销售金额。

示例 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 技术社区中咨询专家或在社区中获取支持。

另请参阅

XLOOKUP 函数

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×