如題,此篇是 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 的填滿空點至表格末列 

MATCH 之 VLOOKUP 參考位址陣列  

結論:

      1. 此 MATCH 函數是以單列來源陣列產生單列結果陣列

      2. 此單列結果陣列又作為 VLOOKUP 函數的單列來源陣列

      3. 故 "結果資料表頭" B11:D11 為整個組合函數的來源陣列位址。

      4. 是否有某函數,可利用 MATCH 函數同時產生 "結果欄序" 的陣列及 "結果列序" 的陣列,如果有,那此函數應該是一個 "二維陣列" 的函數。敬請期待 "二維陣列" 的介紹。