有網友問到:如下圖的資料表,如何將各欄位中有「V」勾選的項目,將第一欄予以加總小計?例如:現貨的小計為 20000+5000+600+1000 = 26600。

這是一個很典型的 SUMPRODUCT 函數的應用,函數的基本語法:

SUMPRODUCThttp://office.microsoft.com/zh-tw/excel-help/HP010342935.aspx

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

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

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

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

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

 

【輸入公式】

儲存格B7:=SUMPRODUCT($A$2:$A$6,(B2:B6="V")*1)

B2:B6="V":判斷儲存格範圍中的內容是否為「V」,得列一個 TRUE/FALSE 的陣列。

image

(B2:B6="V")*1:利用「*1」運算,將 TRUE/FALSE 陣列轉換成 1/0 陣列。

image

再透過 SUMPRODUCT 函數運算:

以「現貨」欄位為例:20000X1 + 5000X1 + 600X1 + 500X0 + 1000X1 = 26600。

arrow
arrow
    全站熱搜

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