Microsoft Lab
全部软件
Excel查找与引用(Lookup & Reference)约 4 分钟

XMATCH Function XMATCH 函数

重点内容


函数速查

函数语法用途例子
XMATCH=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])查找值在范围中的位置,功能比 MATCH 更多=XMATCH("Cherry",A2:A7) → 2

MATCH 和 XMATCH 怎么选

场景MATCHXMATCH
精确匹配基础用法第三参数要写 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 只在 Excel 365 / Excel 2021 及之后版本可用,旧版本会报错
  • 近似匹配的 -1 和 1 方向记反:-1 是找较小值,1 是找较大值,容易跟直觉搞混
  • 通配符匹配时忘记把第三参数设成 2,导致 *、? 被当成普通字符而不是通配符处理

Sources

Blog / Website:

  1. Xmatch
只记在你的浏览器里,换设备不会同步。