- 函数功能概述
- MATCH 函数是 Excel 中用于在指定区域中查找特定值的位置的函数。它返回指定数值在指定数组区域中的位置。这个位置是相对于查找区域的相对位置,而不是绝对的单元格位置。
- 语法结构
MATCH(lookup_value, lookup_array, match_type)
- lookup_value(必需):这是需要在 lookup_array 中查找的值。它可以是数值、文本、逻辑值或对单元格的引用等。例如,要查找数字 5,那么 5 就是 lookup_value。
- lookup_array(必需):这是要在其中查找 lookup_value 的单元格区域或数组。例如,可以是一个单列的数据区域 A1:A10,或者是一个多列多行的区域 A1:C10 等。
- match_type(可选):这用于指定匹配的方式,有三种取值:
- 1 或省略:MATCH 函数会查找小于或等于 lookup_value 的最大值。lookup_array 必须按升序排列,例如数字从小到大排列,文本按照字母顺序排列等。
- 0:MATCH 函数会查找完全等于 lookup_value 的值。lookup_array 可以按任何顺序排列。
- - 1:MATCH 函数会查找大于或等于 lookup_value 的最小值。lookup_array 必须按降序排列,例如数字从大到小排列。
- 应用示例
- 示例一:精确匹配查找位置(match_type = 0)
- 假设在 A1:A10 单元格区域中有数据 1,3,5,7,9,11,13,15,17,19,现在要查找数字 7 的位置。在一个空白单元格(比如 B1)中输入公式
=MATCH(7,A1:A10,0)
,按下回车键后,函数会返回 4。因为 7 是 A1:A10 区域中的第 4 个数据。
- 示例二:模糊匹配查找位置(match_type = 1)
- 假设数据区域 A1:A10 中的数据为 1,3,5,7,9,11,13,15,17,19,并且是按升序排列的。现在要查找小于或等于 10 的最大值的位置。在一个空白单元格(比如 B2)中输入公式
=MATCH(10,A1:A10,1)
,函数会返回 5。这是因为在这个区域中,小于或等于 10 的最大值是 9,9 是 A1:A10 区域中的第 5 个数据。
- 示例三:模糊匹配查找位置(match_type = -1)
- 假设数据区域 A1:A10 中的数据为 19,17,15,13,11,9,7,5,3,1,并且是按降序排列的。要查找大于或等于 10 的最小值的位置。在一个空白单元格(比如 B3)中输入公式
=MATCH(10,A1:A10, - 1)
,函数会返回 6。这是因为在这个区域中,大于或等于 10 的最小值是 11,11 是 A1:A10 区域中的第 6 个数据。
- 注意事项
- 如果 MATCH 函数找不到匹配的值,并且 match_type 为 0 时,函数会返回错误值
#N/A
。 - 当使用模糊匹配(match_type 为 1 或 - 1)时,一定要确保 lookup_array 是按照相应的升序或降序排列的,否则可能会得到错误的结果。
- MATCH 函数返回的位置是相对于 lookup_array 区域的相对位置,例如,如果 lookup_array 是 A1:A10,返回的位置是在这个区域中的相对位置,而不是工作表中的绝对位置。