Excel-常用指令SUMPRODUCT函數

Excel 裡的函數那麼多,依照 20/80 理論,大概只要使用其中的 20% 函數,就可以完成 80% 所有的工作。那麼,總有一些重要的函數要優先學習,其中,SUMPRODUCT 函數應該就是其中非常重要的函數之一了。

SUMPRODUCT 是在計算陣列的乘積和。其語法為:

SUMPRODUCT (array1, [array2], [array3], ...)

即在執行array1、array2、…的乘積和。

例如下圖所示,要執行甲欄和乙欄的乘積和,其中四種公式的寫法都在表達相同的概念,

(1) =SUMPRODUCT({1;3;5;7},{2;4;6;8})

(2) =SUMPRODUCT({2;12;30;56})

(3) =SUMPRODUCT(A3:A6,B3:B6)

(4) =SUMPRODUCT(A3:A6*B3:B6)

都是在執行「=A3*B3+A4*B4+A5*B5+A6*B6」運算。

Excel-常用指令SUMPRODUCT函數

下圖中的運算是「一欄和一欄」執行乘積和:

Excel-常用指令SUMPRODUCT函數

依此概念,在應用上可以變成「一欄和多欄」執行乘積和。

Excel-常用指令SUMPRODUCT函數

要注意:欄和欄在對應上必須是相同列數(N)。

Excel-常用指令SUMPRODUCT函數

這是另一種形式的乘積和例子。

Excel-常用指令SUMPRODUCT函數

你可以如何應用 SUMPRODUCT 函數?

例如:用來計算在人員清單裡,男生的數量總和。

使用公式:=SUMPRODUCT((A2:A5="男")*B2:B5)」

其中「A2:A5="男"」是條件判斷式,會傳回 TRUE/FALSE 的陣列。

公式中的「*」運算,相當於執行邏輯 AND運算,計算過程中會將 TRUE/FALSE 陣列轉換為 1/0 陣列。

最後由 SUMPRODUCT 函數將 1/0 陣列和數量的陣列執行乘積和運算。

Excel-常用指令SUMPRODUCT函數

相同原理,可以用來判斷一個數值清單中,偶數/奇數的個數。

先利用 MOD 函數來計算一個數除以2的餘數,若為 0 者是偶數,若為 1 者是奇數。

公式中的「*」運算,相當於執行邏輯 AND 運算,計算過程中會將 TRUE/FALSE 陣列轉換為 1/0 陣列。

最後由 SUMPRODUCT 函數將 1/0 陣列和數量的陣列執行乘積和運算。

Excel-常用指令SUMPRODUCT函數

有了以上的運算思維了,現在把條件設定為一個以上。

例如,下圖中要計算丙級通過的人數。所以必須判斷二個條件:

條件一:判斷檢定中是「丙級」者,傳回 TRUE/FALSE 陣列。

條件二:判斷成績中是「通過」者,傳回 TRUE/FALSE 陣列。

公式中的「*」運算,相當於執行邏輯 AND 運算,計算過程中會將 TRUE/FALSE 陣列轉換為 1/0 陣列。

最後由 SUMPRODUCT 函數將 1/0 陣列和數量的陣列執行乘積和運算。

Excel-常用指令SUMPRODUCT函數

有了以上的經驗,你可以擴大使用範圍了,用來計算下圖中的各類人數。

參考下圖,為了解說方便,先設定儲存格範圍名稱。

選取儲存格A1:D21,按 Ctrl+Shift+F3 鍵,勾選「頂端列」。

定義名稱:性別、年級、項目、結果。

Excel-常用指令SUMPRODUCT函數

(1) 儲存格G2:=SUMPRODUCT((性別=G$1)*(年級=$F2))

複製儲存格G2,貼至儲存格G2:H4。

(2) 儲存格G6:=SUMPRODUCT((項目=G$5)*(年級=$F6))

複製儲存格G6,貼至儲存格G6:H8。

(3) 儲存格G10:=SUMPRODUCT((結果=G$9)*(年級=$F10))

複製儲存格G10,貼至儲存格G10:H12。

(4) 儲存格G14:=SUMPRODUCT((項目=G$13)*(性別=$F14))

複製儲存格G14,貼至儲存格G14:H15。

(5) 儲存格G18:=SUMPRODUCT((項目=G$16)*(結果=$F18))

複製儲存格G17,貼至儲存格G17:H18。

(6) 儲存格G21:=SUMPRODUCT((結果=G$19)*(性別=$F15))

複製儲存格G20,貼至儲存格G20:H21。

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

arrow
arrow
    文章標籤
    Excel SUMPRODUCT
    全站熱搜

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