"系列一:入門篇" 中曾提到:單格結果陣列是由 "單格陣列函數" 彙總多格來源陣列而成的單一儲存格陣列。
本篇的 "單格陣列函數" 範例是利用 SUM 函數彙總在 "系列二:四則運算" 中 "陣列元素相等判斷" 範例所產生之多格陣列。
一、加總 "兩陣列對應元素相等" 的個數:如下圖所示,先給定相同元素個數的兩個來源陣列,來源陣列1位址:A2:A6、來源陣列2位址:B2:B6 。
方法一:
步驟1. 陣列相等:
選取 D2:D6 (存放結果陣列),
輸入 =A2:A6=B2:B6,
按下 CTRL+SHIFT+ENTER。
步驟2. 為了加總,必須將 TRUE 與 FALSE 轉換為數值。而 TRUE 與 FALSE 是格式化的結果,在 Excel 底層 False 就是 0,True 是 0以外的數。若將 TRUE 與 FALSE 乘上 1,不僅底層數值不變且格式化為數值。
給定一個 "常數陣列" {1;1;1;1;1} 與步驟1的結果陣列 {D6:D10} 做 "陣列相乘" 運算。
運算後的 "多格結果陣列" 作為 SUM 函數的加總範圍:
選取 D9 (存放單格結果陣列),
輸入 =SUM(D2:D6*{1;1;1;1;1}),
按下 CTRL+SHIFT+ENTER。
步驟3. "在陣列運算中" 可將僅包含一種元素的常數陣列寫法簡化。
例如: {1;2;3}*{1;1;1} 簡化為 {1;2;3}*1 。
選取 D12 (存放單格結果陣列),
輸入 =SUM(D2:D6*1),
按下 CTRL+SHIFT+ENTER。
方法二:
跳過中繼陣列 {=D2:D6},以SUM函數的陣列用法,直接彙總。
選取 D15 (存放單格結果陣列),
輸入 =SUM((A2:A6=B2:B6)*1),
按下 CTRL+SHIFT+ENTER。
結論:
1. 了解 "常數陣列" 在陣列運算中可簡化表示法。
2. 本例是以 SUM函數加總一維陣列 {D2*1;D3*1;D4*1;D5*1;D6*1}
3. 其他單格陣列函數:AVERAGE 函數、AND 函數、OR 函數
a. 選取任意空白儲存格以存放單格結果陣列,
輸入 =AVERAGE((A2:A6=B2:B6)*1),
按下 CTRL+SHIFT+ENTER,
所得是否為0.6 (即 3/5)。
b. 選取任意空白儲存格以存放單格結果陣列,
輸入 =AND(A2:A6=B2:B6),
按下 CTRL+SHIFT+ENTER,
所得是否為 FALSE。
c. 選取任意空白儲存格以存放單格結果陣列,
輸入 =OR(A2:A6=B2:B6),
按下 CTRL+SHIFT+ENTER,
所得是否為 TRUE。
4. 請記住此範例,在更多的 "多格陣列函數" 範例介紹後,再回來介紹以 SUM函數加總二維陣列。
留言列表