有網友要將在 Excel 中的一個資料表(如下圖左),摘要成下圖右的各種表示方式,該如何處理?

這類問題,感覺上好像是被問過最多次的問題,不過也是日常生活和工作中最被需要的技巧。但是對於初學者往往不知從何下手,可能也不了解只要使用 SUMPRODUCT 函數就能解決。

 

【函數設計】

先提一下 SUMPRODUCT 函數,參考微軟網站的說明:

SUMPRODUCT:傳回各陣列中所有對應元素乘積的總和。

語法:SUMPRODUCT(array1, [array2], [array3], ...)

array1:要求對應元素乘積和的第一個陣列引數。

array2, array3,...:要求對應元素乘積和的第 2 個到第 255 個陣列引數。

各陣列必須有相同的維度(相同的列數,相同的欄數),否則會傳回錯誤值#VALUE!,並且會將所有非數值資料的陣列元素當成0來處理。

 

【公式設計】

(1) 儲存格E2:=SUMPRODUCT(($A$2:$A$24=D2)*1)

其中運算式「*1」,可以將 $A$2:$A$24=D2 的傳回值 TRUE/FALSE 陣列藉由運算過程轉換為 1/0 陣列。

複製儲存格E2,貼至儲存格E2:E6。

 

(2) 儲存格G2:=SUMPRODUCT(($B$2:$B$24=F2)*1)

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

 

(3) 儲存格E11:=SUMPRODUCT(($A$2:$A$24=E$10)*($B$2:$B$24=$D11))

其中運算式「*」,可以視為將將 $A$2:$A$24=E$10 和 $B$2:$B$24=$D11 兩個運算執行邏輯 AND 運算,並將傳回值 TRUE/FALSE 陣列藉由運算過程轉換為 1/0 陣列。

複製儲存格E11,貼至儲存格E11:I16。(特別注意公式中的 E$10 和 $D11 的位址參照方式)

 

(4) 儲存格E20:=SUMPRODUCT(($A$2:$A$24=$D20)*($B$2:$B$24=E$19))

複製儲存格E20,貼至儲存格E20:J24。(特別注意公式中的 $D20 和 E$19 的位址參照方式)

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

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