说明

Match函数是Excel中使用较为广泛的一个函数。其主要作用是:在“范围”单元格中搜索特定的项,然后返回该项在此区域中的相对位置。

通俗的将:MATCH函数返回指定值在数组中的位置,如果在数组中没有找到该值则返回#N/A。

例如:如果A1:A3区域中包含值5,15和28,那么公式=MATCH(15,A1:A3,0)返回数字2,因为15是该区域中的第二项。

MATCH函数返回指定值在数组中的位置,通常和其它函数配合使用,如INDEX函数、VLOOKUP函数等。

语法

1
MATCH(lookup_value, lookup_array, [match_type])。
  • lookup_value 必需。要在 lookup_array 中匹配的值。

  • lookup_value 参数可以为值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。

  • lookup_array 必需。要搜索的单元格区域。

  • match_type 可选。数字 -1、0 或 1。match_type 参数指定 Excel 如何将lookup_value 与 lookup_array 中的值匹配。此参数的默认值为 1。

    • 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, … 等等。

注意事项

1、MATCH返回匹配值在 lookup_array 中的位置,而非其值本身。 例如,MATCH("b",{"a","b","c"},0)返回 2,即“b”在数组 {“a”,”b”,”c”} 中的相对位置。如果需要获取值本身,则需要和其它函数一起使用,如INDEXVLOOKUP

2、匹配文本值时,MATCH 函数不区分大小写字母。

3、如果 match_type 为 0 且 lookup_value 为文本字符串,您可在lookup_value 参数中使用通配符 - 问号 (?) 和星号 (*) 。问号匹配任意单个字符;星号匹配任意一串字符。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

4、如果 MATCH 函数查找匹配项不成功,它会返回错误值 #N/A。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

农产品 计数
香蕉 二十五
橙子 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

参考资料

MATCH 函数 - Office 支持