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。