如題,此篇是 VLOOKUP 函數搭配 MATCH 函數的應用範例二。
VLOOKUP 函數語法:
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
MATCH 函數語法:
=MATCH(lookup_value, lookup_array, [match_type])
利用 MATCH 函數的陣列作法,產生 "結果欄序" 的陣列,以取代 "系列九:VLOOKUP 函數之二" 中的陣列公式:
{=VLOOKUP(A12,A3:D5,{2,3,4},FALSE)}
其中的第三個參數 {2,3,4}。
一、作法:如下圖所示,給定 "查找資料表" A3:D5、"結果資料表" B12:D20
1. 產生 VLOOKUP 函數的來源陣列 {={3,4,2}}:
"結果資料表頭" B11:D11 作為 MATCH 函數的來源陣列,"查找資料表頭" A2:D2 作為 MATCH 函數的查找範圍,
公式:{=MATCH($B$11:$D$11,$A$2:$D$2,0)}
備註:欲驗證此中繼陣列,作法如下:
任意選取包含三個儲存格的單列範圍,輸入
=MATCH($B$11:$D$11,$A$2:$D$2,0),
按下 CTRL+SHIFT+ENTER。
2. 給定 A12 作為 VLOOKUP 函數的參考位址,A3:D5 作為 VLOOKUP 函數的查找資料表範圍:
選取 B12:D12 (存放結果陣列),輸入
=VLOOKUP(A12,$A$3:$D$5,MATCH($B$11:$D$11,$A$2:$D$2,0),FALSE)
按下 CTRL+SHIFT+ENTER。
3. 拖曳 B12:D12 的填滿空點至表格末列。
結論:
1. 此 MATCH 函數是以單列來源陣列產生單列結果陣列。
2. 此單列結果陣列又作為 VLOOKUP 函數的單列來源陣列。
3. 故 "結果資料表頭" B11:D11 為整個組合函數的來源陣列位址。
4. 是否有某函數,可利用 MATCH 函數同時產生 "結果欄序" 的陣列及 "結果列序" 的陣列,如果有,那此函數應該是一個 "二維陣列" 的函數。敬請期待 "二維陣列" 的介紹。
