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_type0,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