MATCH 函数
约 606 字大约 2 分钟
适用范围
Microsoft 365 专属 Excel, Microsoft 365 Mac 版专属 Excel, Excel 网页版, Excel 2024, Excel 2024 for Mac, Excel 2021, Excel 2021 for Mac, Excel 2019, Excel 2016
1. 函数简介
MATCH 函数在引用单元格范围中搜索特定的项,然后返回该项在此区域中的相对位置。例如,如果区域 A1:A3 包含值 5、25 和 38,则公式 =MATCH(25,A1:A3,0) 返回数字 2,因为 25 是该区域中的第二项。
2. 语法
MATCH(lookup_value, lookup_array, [match_type])| 参数 | 选填 | 说明 |
|---|---|---|
| lookup_value | 必填 | 需要在 lookup_array 中查找的值。可以为数值、文本或逻辑值,也可以是对数值、文本或逻辑值的单元格引用。 |
| lookup_array | 必填 | 要搜索的单元格区域。 |
| match_type | 选填 | 数字 -1、0 或 1。match_type 指定 Excel 如何将 lookup_value 与 lookup_array 中的值匹配。默认值为 1。 |
match_type 说明:
| match_type | 行为 |
|---|---|
| 1 或省略 | MATCH 查找小于或等于 lookup_value 的最大值。lookup_array 参数中的值必须按升序排列。 |
| 0 | MATCH 查找完全等于 lookup_value 的第一个值。lookup_array 参数中的值可以按任何顺序排列。 |
| -1 | MATCH 查找大于或等于 lookup_value 的最小值。lookup_array 参数中的值必须按降序排列。 |
3. 示例
3.1. 查找精确匹配
=MATCH("苹果",A1:A5,0)在 A1:A5 区域中查找"苹果",返回其相对位置。
3.2. 查找近似匹配
=MATCH(75,B1:B10,1)在 B1:B10(升序排列)中查找小于或等于 75 的最大值的位置。
3.3. 配合 INDEX 使用
=INDEX(C1:C10,MATCH("产品A",A1:A10,0))先用 MATCH 找到"产品A"的行号,再用 INDEX 返回对应 C 列的值。
4. 实用技巧
4.1. matchtype 为 0(精确匹配)是最常用的模式
match_type 为 0(精确匹配)是最常用的模式,建议优先使用
4.2. 使用 matchtype 1 或 -1 时
使用 match_type 1 或 -1 时,确保 lookup_array 已按相应顺序排序,否则可能返回错误结果
4.3. MATCH 函数返回的是相对位置而非值
MATCH 函数返回的是相对位置而非值,通常与 INDEX 函数配合使用实现查找功能
4.4. MATCH 不区分大小写
MATCH 不区分大小写
4.5. 注意文本处理
如果 lookup_value 是文本且 match_type 为 0,可以在 lookup_value 中使用通配符问号(?)和星号(*)