定義
MATCH函式 含義:返回指定數值在指定數組區域中的位置
語法:MATCH(lookup_value, lookup_array, match_type)
lookup_value:需要在數據表(lookup_array)中查找的值。可以為數值(數字、文本或邏輯值)或對數字、文本或邏輯值的單元格引用。可以包含通配符、星號 (*) 和問號 (?)。星號可以匹配任何字元序列;問號可以匹配單個字元。
lookup_array:可能包含有所要查找數值的連續的單元格區域,區域必須是某一行或某一列,即必須為一維數據,引用的查找區域是一維數組。
match_type:表示查詢的指定方式,用數字-1、0或者1表示,match_type省略相當於match_type為1的情況。
為1時,查找小於或等於lookup_value的最大數值在lookup_array中的位置,lookup_array必須按升序排列:否則,當遇到比lookup_value更大的值時,即時終止查找並返回此值之前小於或等於lookup_value的數值的位置。如果lookup_array的值均小於或等於lookup_value,則返回數組最後一個值的位置;如果lookup_array的值均大於lookup_value,則返回#N/A。
為0時,查找等於lookup_value的第一個數值,lookup_array按任意順序排列:
為-1時,查找大於或等於lookup_value的最小數值在lookup_array中的位置,lookup_array必須按降序排列;否則,當遇到比lookup_value更小的值時,即時終止查找並返回此值之前大於或等於lookup_value的數值的位置。如果lookup_array的值均大於或等於lookup_value,則返回數組最後一個值的位置;如果lookup_array的值均小於lookup_value,則返回#N/A。
舉例
按照左圖excel檔案,數組A1:A9為升序排列,match_type以1為例。
match(5.5,A1:A9,1)=5
//返回小於或等於5.5的最大數值在A1:A9中的位置。返回值5。
match(0.5,A1:A9,1)=#N/A
//返回小於或等於0.5的最大數值在A1:A9中的位置。因為數組中所有值都大於查找值,所以返回錯誤。
match(10,A1:A9,1)=9
//返回小於或等於10的最大數值在A1:A9中的位置。因為數組中所有值都小於查找值,所以返回最後一個值的位置。
match_type = -1時,情況與上述類似。
match_type = 0 時,為精確匹配。返回數組中第一個相同的值的位置,當數組中沒有lookup_value時,返回錯誤。
舉例
選擇B7單元格,輸入“=MATCH(100,B2:B5,0)”,按回車,顯示“3”。
公式解析:在“B2:B5”區域內查找第一個等於“100”的數值為第幾個,按順序找到B4單元格的數值為“100”,B4在“B2:B5”區域內排第3,所以顯示“3”。
選擇C7單元格,輸入“=MATCH(80,C2:C5,1)”,按回車,顯示“2”。公式解析:在“C2:C5”區域內查找小於或等於“80”的數值,按順序找到C2:C3單元格的數值都小於“80”,選擇其中最大的數值,即C3的數值,C3在“C2:C5”區域內排第2,所以顯示“2”。
選擇D7單元格,輸入“=MATCH(90,D2:D5,-1)”,按回車,顯示“4”。公式解析:在“D2:D5”區域內查找大於或等於“90”的數值,按順序找到D2:D5單元格的數值都大於“90”,選擇其中最小的數值,即D5的數值,D5在“D2:D5”區域內排第4,所以顯示“4”。
1.選擇B7單元格,輸入“=MATCH(100,B2:B5,0)”,按回車,顯示“3”。
公式解析:在“B2:B5”區域內查找第一個等於“100”的數值為第幾個,按順序找到B4單元格的數值為“100”,B4在“B2:B5”區域內排第3,所以顯示“3”。
2.選擇C7單元格,輸入“=MATCH(80,C2:C5,1)”,按回車,顯示“2”。公式解析:在“C2:C5”區域內查找小於或等於“80”的數值,按順序找到C2:C3單元格的數值都小於“80”,選擇其中最大的數值,即C3的數值,C3在“C2:C5”區域內排第2,所以顯示“2”。
3.選擇D7單元格,輸入“=MATCH(90,D2:D5,-1)”,按回車,顯示“4”。公式解析:在“D2:D5”區域內查找大於或等於“90”的數值,按順序找到D2:D5單元格的數值都大於“90”,選擇其中最小的數值,即D5的數值,D5在“D2:D5”區域內排第4,所以顯示“4”。
4.注意事項
•在使用時要注意區分LOOKUP函式:
•MATCH函式用於在指定區域內按指定方式查詢與指定內容所匹配的單元格位置;
•LOOKUP函式用於在指定區域內查詢指定內容所對應的匹配區域內單元格的內容。
•關於LOOKUP函式的詳情使用見下方參考資料。
•使用MATCH函式時的指定區域必須是單行多列或者單列多行;
•查找的指定內容也必須在指定區域存在,否則會顯示“#N/A”錯誤。