EP14. “XMATCH Function XMATCH 函数”
🔒 登录后可标记已读- XMATCH 是 MATCH 函数的升级版(Excel 365 / 2021 才有)
- 语法更简单,还多了通配符匹配和反向搜索功能
- 前置知识建议先看过 EP03 的 MATCH 用法,方便对照差异
- 学完能配合 INDEX 做出比传统 MATCH 更灵活的查找
重点内容
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| XMATCH | =XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]) | 查找值在范围中的位置,功能比 MATCH 更多 | =XMATCH("Cherry",A2:A7) → 2 |
MATCH 和 XMATCH 怎么选
| 场景 | MATCH | XMATCH |
|---|---|---|
| 精确匹配基础用法 | 第三参数要写 0 | 只需 2 个参数即可 |
| 近似匹配需要先排序 | 是 | 否 |
| 通配符匹配 | 不支持 | 支持(第三参数设 2) |
| 反向搜索(找最后一个匹配) | 不支持 | 支持(第四参数设 -1) |
| 版本要求 | 桌面版通用 | 仅 Excel 365 / 2021 及以上 |
基础用法
=XMATCH("Cherry",A2:A7)
在范围 A2:A7 里查找 "Cherry",因为它是第 2 项,结果返回 2。跟传统 MATCH 相比,XMATCH 基础用法只需要 2 个参数(不需要像 MATCH 那样一定要给第三参数)。
近似匹配
第三参数 match_mode:
- 设为 -1:找不到精确值时,返回"下一个较小的项"。比如要找分数 77 但数据里没有,XMATCH 返回 3(因为 74 是比 77 小的最接近的项)
- 设为 1:找不到精确值时,返回"下一个较大的项"。同样找 77,XMATCH 返回 4(因为 81 是比 77 大的最接近的项)
- 优势是不需要像 VLOOKUP 近似匹配那样,事先把数据排序
通配符匹配
第三参数设为 2,可以启用通配符:* 代表任意多个字符,? 代表单一字符。比如查找模式匹配到 "Banana",返回它的位置 5。
反向搜索
第四参数 search_mode:
- 设为 1(默认):从第一项往最后一项搜索
- 设为 -1:从最后一项往第一项搜索。比如 "Apple" 在列表里出现了两次,设成 -1 会找到最后一次出现的位置(结果 6),而不是第一次出现的位置
搭配 INDEX 使用
XMATCH 负责在一列里找位置,INDEX 根据这个位置去另一列取对应的值。比如 XMATCH 在 A2:A7 里找到 "Mango" 的位置是 4,INDEX 就用这个 4 去 B2:B7 取第 4 个值,结果是 60。
=INDEX(B2:B7,XMATCH("Mango",A2:A7))
学完你会
- ✅ 能用 XMATCH 做出比传统 MATCH 更简洁的精确匹配查找
- ✅ 能用 XMATCH 的通配符和反向搜索功能处理传统 MATCH 做不到的场景
- ✅ 能搭配 INDEX 用 XMATCH 找到的位置取出对应的值
常见错误
- XMATCH 只在 Excel 365 / Excel 2021 及之后版本可用,旧版本会报错
- 近似匹配的 -1 和 1 方向记反:-1 是找较小值,1 是找较大值,容易跟直觉搞混
- 通配符匹配时忘记把第三参数设成 2,导致
*、?被当成普通字符而不是通配符处理
Sources
Blog / Website: