close

236

MATCH函數的語法及使用實例

 

MATCH函數

函數類型:查閱與參照

    明:  傳回指定值在陣列中的位置,如果在陣列中沒有找到該值則傳回#N/A。其結果可以被其他函數使用,例如INDEX函數或VLOOKUP函數陣列可以已經排序或沒有排序,並且MATCH函數不區分大小寫。。

    法:  MATCH(Lookup_value,Lookup_array,[Match_type])

    數:  Lookup_value可以是文字、數值或邏輯值。
Lookup_array
是陣列或陣列參照(在單欄或列中的連續儲存格)
Match_type
可以是-1, 01。如果忽略,則為1

    明:  本函數可以在未經排序的列表中找到資料項目的位置;和CHOOSE一起使用獲取學生成績;和VLOOKUP一起使用來靈活選擇列;和INDEX一起使用來顯示獲勝者的姓名

   阱: 本函數傳回所查找項的位置,而不是值。如果需要獲取值,那麼與其他函數,如INDEX一起使用。

範例1:在未排序的列表中查找資料項目

對於未排序的列表,可以使用0作為Match_type參數,以查找完全匹配的值。如果查找文字並使用0作為參數,那麼也可以在查找值中包括萬用字元。

本例中,可以輸入月份名稱或帶有萬用字元的部分名字,查找清單中該月份的位置。

D2儲存格輸入公式:「=MATCH(D2,B3:B7,0)」。

image

可以輸入陣列作為lookup_array參數來代替陣列參照。在下圖中的公式中,C2儲存格中輸入要查找的月份名稱,在MATCH函數的第二個參數中輸入12個月份名稱。如果在D3儲存格中輸入的最後一個月份名稱,如果C2儲存格輸入的字串不在其中,那麼D3儲存格的結果將是#N/A

image

範例2: 將學生成績修改為字母

在本範例中,與CHOOSE函數一起來獲取字母成績。Match_type-1,因為成績以資料遞減排列。

當參數Match_type-1時,結果為大於或等於查找值的最小值。本例中,查找值是56,不在成績列表中,因此傳回60所在的位置。因為60在成績列表中的位置是5,所以在CHOOSE函數選項中的第5個值是結果,即儲存格B7,其值為己。

E2儲存格公式為:「=CHOOSE(MATCH(B9,B3:B7,-1),C3,C4,C5,C6,C7)」。

image

範例3: VLOOKUP函數中創建靈活的列選擇

要使含有VLOOKUP函數公式更靈活,可以使用MATCH函數來查找列號,而不是在公式中硬編碼。在本範例中,可以在儲存格G1中選擇範圍,作為VLOOKUP函數的值。然後,可以在儲存格G2中選擇月份,MATCH函數會傳回該月份所在的列。

G3儲存格公式為:「=VLOOKUP(G1,$A$2:$D$5,MATCH(G2,$A$1:$E$1,0),FALSE)」。

image

範例4:INDEX函數一起查找最接近的匹配項目

MATCH函數也可以和INDEX函數一起使用。本範例中,MATCH函數用於查找最接近正確數值的猜測。

1.ABS函數傳回每項猜測和正確數值的絕對差。

2.MIN函數查找最小的差值。

3.MATCH函數在差值清單中查找最小的差值。如果有多個相同的值,那麼傳回第一個值。

4.INDEX函數傳回名字清單中該位置的名字。

E5儲存格公式輸入:「=INDEX(A2:A7,MATCH(MIN(ABS(B2:B7-D2)),ABS(B2:B7-D2),0))」後,再按 ALT+ SHIFT + ENTER鍵,將其變為陣列公式。

image


arrow
arrow

    錦子老師 發表在 痞客邦 留言(0) 人氣()