提示
尝试使用新的 XMATCH 函数,这是一种在任意方向工作的改进版本的 MATCH,默认情况下会返回完全匹配,因此使用起来比前一个版本更简单、更方便。
使用 MATCH 函数在单元格区域中搜索指定项目,然后返回该项目在此区域中的相对位置。 例如,如果 A1:A3 区域中包含值 5、25 和 38,那么公式 =MATCH(25,A1:A3,0) 返回数字 2,因为 25 是该区域中的第二项。
提示
当您需要项目在区域中的位置而非项目本身时,使用 MATCH 而不是 LOOKUP 函数之一。 例如,可以使用 MATCH 函数为 INDEX 函数的 row_num 参数提供值。
语法
MATCH(lookup_value, lookup_array, [match_type])
MATCH 函数语法具有下列参数:
lookup_value 必填。 要在 lookup_array 中匹配的值。 例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。
lookup_value 参数可以为值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
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 参数中的值必须按升序排列,例如:...-2、-1、0、1、2、...、A-Z、FALSE、TRUE。 |
| 0 | MATCH 查找与 lookup_value完全相等的第一个值。 lookup_array 参数中的值可以按任意顺序排列。 |
| 来执行此操作 | MATCH 查找大于或等于lookup_value的最小值。 lookup_array参数中的值必须按降序排列,例如:TRUE、FALSE、Z-A、...2、1、0、-1、-2、...等。 |
- MATCH 返回匹配值在 lookup_array 中的位置,而不是值本身。 例如, MATCH (“b”,{“a”,“b”,“c”},0) 返回 2,这是“b”在数组 {“a”,“b”,“c”} 中的相对位置。
- 匹配文本值时,MATCH 函数不区分大小写字母。
- 如果 MATCH 函数查找匹配项不成功,它会返回错误值 #N/A。
- 如果 match_type 为 0 且 lookup_value 为文本字符串,则可以在 lookup_value 参数中使用通配符(问号 (?) 和星号 (*) )。 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前面键入波形符 (~) 。
示例
复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。
| 产品 | 计数 | |
|---|---|---|
| 香蕉 | 25 | |
| 橙子 | 38 | |
| 苹果 | 40 | |
| 梨 | 41 | |
| 公式 | 说明 | 结果 |
| =MATCH(39,B2:B5,1) | 由于此处无精确匹配项,因此函数会返回单元格区域 B2:B5 中最接近的下个最小值 (38) 的位置。 | 2 |
| =MATCH(41,B2:B5,0) | 单元格区域 B2:B5 中值 41 的位置。 | 4 |
| =MATCH(40,B2:B5,-1) | 由于单元格区域 B2:B5 中的值不是按降序排列,因此返回错误。 | #N/A |