Excel - MATCH 函数



描述

MATCH 函数在单元格区域中搜索指定项,然后返回该项在区域中的相对位置。

当您需要项在区域中的位置而不是项本身时,请使用 MATCH 而不是其中一个 LOOKUP 函数。例如,您可以使用 MATCH 函数为 INDEX 函数的 row_num 参数提供值。

语法

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。

请参见下文,了解函数如何根据 match_type 参数查找值。

可选

match_type MATCH 函数查找什么
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 参数中使用通配符 - 问号 (?) 和星号 (*)

    • 问号匹配任何单个字符

    • 星号匹配任何字符序列

    • 如果要查找实际的问号或星号,请在字符前键入波浪号 (~)

  • 如果 lookup_array 未正确排序,则 Match 函数返回错误的结果

  • 当函数无法为 lookup_value 找到匹配项时,Match 函数返回 #N/A 错误值。这可能发生在以下情况:

    • 如果 match_type = 0 且在 lookup_array 中未找到 lookup_value 的完全匹配项

    • 如果 match_type = 1 或省略,并且 lookup_array 中的第一个值大于 if match_type = 1 lookup_value(即,数组按升序排列,并且没有小于或等于 lookup_value 的最接近匹配项)。

    • 如果 match_type = -1 并且 lookup_array 中的第一个值小于 lookup_value(因此,如果数组按降序排列,则没有大于或等于 lookup_value 的最接近匹配项)。

    • 如果 lookup_value 或 lookup_array 中的值中存在看不见的字符。

    • 如果 lookup_value 和 lookup_array 中的数据具有不同的数据类型。

适用性

Excel 2007、Excel 2010、Excel 2013、Excel 2016

示例

Match Function
advanced_excel_lookup_reference_functions.htm
广告

© . All rights reserved.