MATCH函數可在單元格區域中搜索指定項,然后返回該項在單元格區域中的相對位置。例如,如果單元格區域A1:A3包含值5、25和38,則以下公式:
=MATCH(25,A1:A3,0)
會返回數字2,因為值25是單元格區域中的第二項。
如果需要獲得單元格區域中某個項目的位置而不是項目本身,則應該使用MATCH函數而不是某個LOOKUP函數。例如,可以使用MATCH函數為 INDEX函數的row_num參數提供值。
MATCH函數的語法為:
MATCH(lookup_value, lookup_array, [match_type])
▲lookup_value:必需。需要在lookup_array中查找的值。例如,如果要在電話簿中查找某人的電話號碼,則應該將姓名作為查找值,但實際上需要的是電話號碼。lookup_value參數可以為值(數字、文本或邏輯值)或對數字、文本或邏輯值的單元格引用。
▲lookup_array:必需。要搜索的單元格區域。
▲match_type:可選。數字-1、0 或 1。match_type參數指定Excel如何在lookup_array中查找lookup_value的值。此參數的默認值為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, … 等等。
提示:
●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參數中使用通配符(問號 (?) 和星號 (*))。問號匹配任意單個字符;星號匹配任意一串字符。如果要查找實際的問號或星號,請在該字符前鍵入波形符(~)。
示例
基礎數據如圖所示表格的A1:A6區域,下面公式的含義為
●=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中的值不是按降序排列,因此返回錯誤。