MATCH 函数
Applies To
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版 Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016提示: 尝试使用新的 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 参数中的值可按任何顺序排列。 |
-1 |
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 |