跳转至

XMATCH

类别:MS Excel 兼容函数 · 原生引入:Excel 2021

返回查找值在数组中的位置。

语法

=XMATCH(查找值, 查找数组, [匹配模式], [搜索模式])

参数

参数 必需 说明
查找值 必需 要查找的值
查找数组 必需 搜索数组
匹配模式 可选 0 精确(默认),-1 较小,1 较大,3 正则
搜索模式 可选 1 从前(默认),-1 从后

返回

以数字标量返回找到的位置(从 1 开始)。数组为空或无匹配时返回 #N/A,内部错误返回 #VALUE!。

示例

公式 结果 说明
=XMATCH(3,{1;2;3;4}) 3 精确匹配的位置
=XMATCH(2.5,{1;2;3},1) 3 大于等于的值的位置
=XMATCH(5,{1;2;3}) #N/A 无匹配时 #N/A
=XMATCH("rr[yx]$",{"apple";"Banana";"cherry"},3) 3 正则匹配(match_mode 3)
=XMATCH("e",{"apple";"Banana";"cherry"},3,-1) 3 正则 + 从后向前搜索

备注

  • 不支持 match_mode 2(通配符)和 search_mode 2/-2(二分查找)。
  • match_mode 3(正则)将查找值解释为正则表达式模式,返回文本单元格中包含该模式匹配的首个项的位置(部分匹配,REGEXTEST 方式)— 模式编号与 Microsoft 365 原生 XMATCH 的 2024 年新增功能相同。默认区分大小写;在模式前加 (?i) 可忽略大小写(与原生用法相同)。非文本单元格不会匹配;查找值不是文本、正则无效、或与 search_mode 2/-2(二分查找)组合时返回 #VALUE!。
  • 正则语法为 std::wregex 的 ECMAScript(与原生 365 的 PCRE2 可能略有差异)。
  • 相关函数:XLOOKUP。
  • 支持:Excel 2010+。在没有原生函数的旧版本中按 XMATCH 原名注册(直接替换),在具有原生函数的新版 Excel 中注册为 EG.XMATCH