學過程式設計的使用者,對於「陣列」一定不陌生!

陣列是一群相同資料類型的集合,在運算時透過相同規則可以處理大量的資料,並執行相同的運算。在 Excel 中陣列的觀念和程式設計中的觀念類似,為了讓 Excel 知道你是要使用陣列公式來運算,所以在輸入公式結束後,要按 Ctrl+Shift+Enter 鍵,而 Excel 會將公式以「{  }」來含括。

 

1. 水平一維常數陣列

(1) 選取儲存格A1:F1(共 6 個儲存格)。

(2) 輸入公式:={1,2,3,4,5,6}。(注意:每個數字以「,」分隔)

(3) 按 Ctrl+Shift+Enter 鍵。

儲存格A1:F1中的公式變為相同:{={1,2,3,4,5,6}}

Excel-陣列公式初探

當你想要刪除陣列中其中一個儲存格時,會看到「您不能只改變陣列中的一部分」的錯誤訊息。

Excel-陣列公式初探

 

2. 垂直一維常數陣列

Excel-陣列公式初探

(1) 選取儲存格A1:A6(共 6 個儲存格)。

(2) 輸入公式:={1;2;3;4;5;6}。(注意:每個數字以「;」分隔)

(3) 按 Ctrl+Shift+Enter 鍵。

儲存格A1:A6中的公式變為相同:{={1;2;3;4;5;6}}

 

3. 二維常數陣列

(1) 選取儲存格A1:D3(共 12 個儲存格)。

(2) 輸入公式:={1,2,3,4;5,6,7,8;9,10,11,12}。(注意:數字以「,」和「;」分隔)

(3) 按 Ctrl+Shift+Enter 鍵。

儲存格A1:D3中的公式變為相同:{={1,2,3,4;5,6,7,8;9,10,11,12}}。

{1,2,3,4;5,6,7,8;9,10,11,12} 陣列相當於

三個一維陣列組成:{1,2,3,4}、{5,6,7,8}、{9,10,11,12}

Excel-陣列公式初探

 

4. 公式中使用陣列公式

(1) 水平常數一維陣列運算

儲存格A1:{=SUM({1,2,3,4}*{5,6,7,8})}

Excel-陣列公式初探

 

(1) 選取儲存格E1:E4。

(2) 輸入公式:=C1:C4*D1:D4。

(3) 按 Ctrl+Shift+Enter 鍵。

儲存格E1:E4中的公式變為相同:{=C1:C4*D1:D4}

Excel-陣列公式初探

(2) 水平變數一維陣列運算

儲存格A1:{=SUM(C1:C4*D1:D4)}

Excel-陣列公式初探

(3) 常數垂直一維陣列和變數垂直一維陣列運算

儲存格A1:{=SUM({1;2;3;4}*D1:D4)}

Excel-陣列公式初探

(4) 常數水平一維陣列和變數水平一維陣列運算

儲存格A1:{=SUM({1,2,3,4}*C2:F2)}

Excel-陣列公式初探

(5)為陣列命名

將陣列命名後,在公式中使用顯得比較容易理解,而且可以縮短公式長度。

例如:選取儲存格D1:E6,按 Ctrl+Shift+F3 鍵,勾選「頂端列」。

儲存格D2:D6命名為「單價」;儲存格E2:E6命名為「數量」。

Excel-陣列公式初探

Excel-陣列公式初探

 

【例】計算所有商品販售總金額

儲存格A1:{=SUM(單價*數量)}

Excel-陣列公式初探

 

【例】計算商品販售總金額小於500者

儲存格A5:{=SUM(1*(單價*數量<500))}

單價*數量<500:會傳回 TRUE/FALSE。公式中「1*」運算,可以將 TRUE/FALSE轉換為 1/0。再藉由 SUM 函數計算總和(加計幾個 1,代表幾個小於 500 者。)

Excel-陣列公式初探

 

(6) 使用預設陣列運算的公式

儲存格A5:=SUMPRODUCT(1*(單價*數量<500))

藉由 SUMPRODUCT 函數可以不用在公式輸入完成後按 Ctrl+Shift+Enter 鍵。因為 SUMPRODUCT 函數內建以陣列來運算。

Excel-陣列公式初探

SUMPRODUCT 函數可以看成 SUMPRODUCT

單價*數量:{100*2,200*4,300*3,400*1,500*5}={200,800,900,400,2500}

單價*數量<500:{TRUE,FALSE,FALSE,TRUE,FALSE}

1*(單價*數量<500):{1,0,0,1,0}

最後:1+0+0+1+0=2

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 陣列公式
    全站熱搜

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