MATCH 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 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_valuelookup_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