本主題是 MATCH 函數,目的在於說明其參數與上一主題所介紹 COUNTIF 函數的參數有何差同?
回顧 COUNTIF 函數語法:=COUNTIF(range, criteria),
其中第一個參數是 "(查找)範圍",可以是 "矩形或單欄、單列" 的範圍。此函數於陣列運算時,第二個參數是由參考位址所形成的陣列。
MATCH 函數語法:
=MATCH(lookup_value, lookup_array, [match_type])。
MATCH 函數是要找出 lookup_value 在指定的 lookup_array 中的最小序位。lookup_array 是 "範圍",但計算結果是 "序位" 而非 "座標" 。故此範圍不可是 "矩形" ,而必須是 "單欄或單列" ,因此不用 range 而用 array 來表示。
一、 MATCH 函數的一般用法,MATCH(參考位址,單欄/單列範圍,0):
1. 如下圖所示,給定一單欄範圍 A4:A10。
選取 C4:C10,
輸入 =MATCH(A4,$A$4:$A$10,0),
按下 CTRL+ENTER。
Andy 在 A4:A10 的最小序位是 1。Sandy 是 2, Candy 是 3, Kennedy 是 4。
二、 MATCH 函數的陣列用法,{=MATCH(來源陣列,單欄/單列範圍,0)}:
1. 同一單欄範圍 A4:A10 及來源陣列位址 A4:A10:
選取 E4:E10 (存放結果陣列),
輸入 =MATCH(A4:A10,A4:A10,0),
按下 CTRL+SHIFT+ENTER。
2. 單列範圍 B13:H13 及同一來源陣列位址 A4:A10:
選取 G4:G10 (存放結果陣列),
輸入 =MATCH(A4:A10,B13:H13,0),
按下 CTRL+SHIFT+ENTER。
結論:
1. {=COUNTIF(範圍,來源陣列)} vs {=MATCH(來源陣列,範圍,序位型態)}。
2. 更熟悉 "範圍" 的用法,更重要的是:MATCH 函數的參數 array 是 "非矩形" 的範圍。
3. 更熟悉 "來源陣列"、"結果陣列" 與 "範圍" 的關係。
4. 下回再深入 "lookup_array",精彩可期。
5. MATCH 函數有何應用呢? 也敬請期待。
留言列表