"系列一:入門篇" 中提到陣列函數的 "來源陣列" 可以是 "常數陣列" 或 "參考位址陣列"本篇範例將採用 "常數陣列" 作為 VLOOKUP 函數的 "來源陣列"

VLOOKUP 函數語法:
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

在上一篇 "產品號碼" 的陣列函數:

{=VLOOKUP(A12:A20,A3:D5,3,FALSE)}

其中參考位址陣列 {=A12:A20} 作為 VLOOKUP 函數的來源陣列。

一、可擴展成 "常數陣列" 的參數:

1、若仍以第一個參數 lookup_value 作為 "來源陣列",必須將 {=A12:A20} 改成常數陣列,陣列函數表示如下

{=VLOOKUP({"Fax";"Phone";"Laptop";"Fax";"Phone";"PC";"Fax";"Phone";"PC"},A3:D5,3,FALSE)}

    此陣列函數不僅不易輸入,且不易維護非常不實用。故 VLOOKUP 函數的第一個參數不適合以 "常數陣列" 作為  "來源陣列"

2、第二個參數 table_array:"查找資料表"範圍,既不是 "常數",也不是 "參考位址",故不能擴展陣列

3、第三個參數 col_index_num:"結果欄序"是一個 "常數",可擴展成 "常數陣列",例如:{={2,3,4}}來作為 "來源陣列"。此陣列函數表示如下

     {=VLOOKUP(A12,A3:D5,{2,3,4},FALSE)}

     請注意:第一個參數必須 "縮減" 成參考位址,不再是 "來源陣列"。

二、作法:

       如下圖所示,給定一個查找資料表範圍 A3:D5

       並結果欄序3、4、2組成來源陣列:{={3,4,2}} 。

       1. 選取 B12:D12 (存放結果陣列)

           輸入 =VLOOKUP(A12,$A$3:$D$5,{3,4,2},FALSE),

           按下 CTRL+SHIFT+ENTER。

       2. 拖曳 B12:D12 的填滿空點至表格末列

VLOOKUP 常數陣列  

結論:

      1. 若擴展第四個常數參數 range_lookup 作為來源陣列是何意義?

      2. 此 VLOOKUP 範例函數是以單列來源陣列產生單列結果陣列

      3. 清楚了常數陣列作為來源陣列的用法,一次固定 3 個結果欄位的順

      4. 承 "系列六:MATCH 函數",下一主題介紹其應用在 VLOOKUP 函數。

      5. MATCH 函數也可產生 "結果欄序" 的陣列以取代上述的常數陣列,精彩可期

arrow
arrow
    文章標籤
    Excel教學 陣列函數
    全站熱搜

    KKExcel 發表在 痞客邦 留言(0) 人氣()