介紹如何在 Excel 中使用 SUMPRODUCT 函數依據組別、單價與數量計算總金額。
SUMPRODUCT 函數用法
SUMPRODUCT 函數可以接受多個陣列資料,並將每個陣列中的每個對應的元素相乘之後,計算加總值,以下是一個簡單的範例:
=SUMPRODUCT(A1:A3,B1:B3)

SUMPRODUCT 函數範例在這個範例中,SUMPRODUCT 函數會將第一個陣列(A1:A3)與第二個陣列(B1:B3)的各元素相乘並加總,也就是:
SUMPRODUCT 函數可以接受多個陣列,不管輸入的陣列有幾個,它都會將每個陣列中對應的元素相乘後,再計算總合。
SUMPRODUCT 函數可以應用在許多地方,以下是一些實際應用範例。
計算總金額
假設我們有一筆訂單的 Excel 資料表格如下,其中包含產品的單價與數量:

假設我們想要計算這一筆訂單的總金額,就可以使用 SUMPRODUCT 函數來處理,只要將單價與數量的陣列範圍傳入 SUMPRODUCT 函數,即可計算每個產品的單價乘以數量的總和:
=SUMPRODUCT(B2:B5,C2:C5)

SUMPRODUCT 公式這樣就可以快速計算出總金額:

分組計算總金額
假設我們的產品有區分不同的類別,以這個例子來說,分為 A、B、C 三類。

如果想要分別計算 A、B、C 三類的產品總金額,也可以使用 SUMPRODUCT 來處理,這裡的思考邏輯如下:
這裡的單價陣列與數量陣列就是單純的產品單價與數量,而分類判斷陣列就是用來判斷每一個產品是否屬於指定的分類,屬於該類就是 1,否則就是 0,這樣三個陣列相乘之後,就只有屬於該類的會有值,其他分類就都會是 0。
實際寫出來的公式就會像這樣:
=SUMPRODUCT(($B$2:$B$8=F2)*1,$C$2:$C$8,$D$2:$D$8)

SUMPRODUCT 公式在這裡的分類判斷陣列公式 ($B$2:$B$8=F2)*1 當中,我們先判斷每個產品是否屬於指定的類別,產生 TRUE 與 FALSE 的布林陣列,然後再乘以 1,讓布林陣列轉換成 1 與 0 的陣列,這樣就可以交給 SUMPRODUCT 進行後續的運算了。
計算出來的各類產品總金額如下:


