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_value与lookup_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 。如果需要,可调整列宽以查看所有数据 。
    农产品
    计数
    香蕉
    二十五
    橙子
    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
    另请参阅VLOOKUP函数
    【MATCH 函数】INDEX函数

      推荐阅读