本文介绍 Microsoft Excel 中 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 参数中的值可按任何顺序排列。

-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