MATCH函數

Excel主要的查找函數之一

MATCH函數返回指定數值在指定數組區域中的位置。MATCH函數是Excel主要的查找函數之一。

函數概述


語法

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 參數中使用通配符(問號 (?) 和星號 (*))。問號匹配任意單個字元;星號匹配任意一串字元。如果要查找實際的問號或星號,請在該字元前鍵入波形符 (~)。

示例


創建工作表如下:
AB
產品數量
香蕉25
橙子38
蘋果40
香梨41
(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”錯誤。