函數概述
語法
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。
下表介紹該函數如何根據match_type參數的設置查找值:
(1)Match_type:1 或省略,表示MATCH 函數會查找小于或等于 lookup_value 的最大值。lookup_array參數中的值必須按升序排列,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。
(2)Match_type:0,表示MATCH 函數會查找等于 lookup_value 的第一個值。lookup_array參數中的值可以按任何順序排列。
(3)Match_type:-1,表示MATCH 函數會查找大于或等于 lookup_value 的最小值。lookup_array 參數中的值必須按降序排列,例如:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ... 等等。
功能
MATCH函數可在單元格區域中搜索指定項,然後返回該項在單元格區域中的相對位置。
例如,如果單元格區域A1:A3包含值5、25和38,則以下公式:
=MATCH(25,A1:A3,0)
會返回數字2,因為值 25 是單元格區域中的第二項。
如果需要獲得單元格區域中某個項目的位置而不是項目本身,則應該使用 MATCH 函數而不是某個 LOOKUP 函數。例如,可以使用MATCH函數為INDEX函數的row_num參數提供值。
該函數通的用途總結如下:
(1)确定列表中某個值的位置。
(2)對某個輸入值進行檢驗,确定這個值是否存在某個列表中。
(3)判斷某列表中是否存在重複數據。
(4)定位某一列表中最後一個非空單元格的位置。
查找文本值時,函數MATCH不區分大小寫字母。
函數說明
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 參數中使用通配符(問号 (?) 和星号 (*))。問号匹配任意單個字符;星号匹配任意一串字符。如果要查找實際的問号或星号,請在該字符前鍵入波形符 (~)。
示例
創建工作表如下:
(1)MATCH(39,B2:B5,1)
說明:由于此處無精确匹配項,因此函數會返回單元格區域B2:B5中最接近的下一個最小值 (38) 的位置。
結果:2
(2)MATCH(41,B2:B5,0)
說明:單元格區域B2:B5中值41的位置。
結果:4
(3)MATCH(40,B2:B5,-1)
說明:由于單元格區域B2:B5中的值不是按降序排列,因此返回錯誤。
結果:#N/A
注意事項
在使用時要注意區分LOOKUP函數:MATCH函數用于在指定區域内按指定方式查詢與指定内容所匹配的單元格位置;LOOKUP函數用于在指定區域内查詢指定内容所對應的匹配區域内單元格的内容。關于LOOKUP函數的詳情使用見下方參考資料。
使用MATCH函數時的指定區域必須是單行多列或者單列多行;查找的指定内容也必須在指定區域存在,否則會顯示“#N/A”錯誤。