本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。
學會把同一列的單價與數量先相乘,再將各列金額加在一起。你會建立不需要小計欄的採購表,能逐列寫出七個乘積來核對答案,並分辨逐對相乘與把兩欄各自相加後相乘的差異,避免算出不合理的總額。
什麼時候會用到
採購清單只有品項、單價、數量時,直接求整張清單總金額,省去逐格建立小計公式的操作,但仍能手算各列乘積核對。
工時表中一欄是每小時單價、一欄是對應工時時,按相同列配對計算總費用。前提是所有金額使用同一貨幣,工時單位也一致。
適用版本
本課可在 Microsoft 365、Excel 2024、Excel 2021、Excel 2019 與 Excel 2016 使用,官方函數頁列有這些版本。
本課使用一般儲存格參照,輸入完成按 Enter 即可;不需額外增益集,也不用特殊陣列按鍵。
先準備範例資料
開啟空白活頁簿,依下表輸入對應儲存格。表中「(空白)」代表儲存格留空,請勿輸入括號內的文字。
| 列 | A | B | C |
|---|---|---|---|
| 1 | 品項 | 單價 | 數量 |
| 2 | 鉛筆 | 10 | 3 |
| 3 | 筆記本 | 40 | 2 |
| 4 | 橡皮擦 | 15 | 4 |
| 5 | 尺 | 20 | 1 |
| 6 | 資料夾 | 30 | 2 |
| 7 | 膠帶 | 25 | 2 |
| 8 | 彩色筆 | 35 | 2 |
A1:C8放七種文具。B欄是每件單價,C欄是購買數量;同一列屬於同一品項,不能只把其中一欄另行排序。
B2:B8依序為10、40、15、20、30、25、35;C2:C8依序為3、2、4、1、2、2、2,全部輸入純數字。
單價與數量都各有七格。逗號前後的範圍一一配對:B2配C2,B3配C3,一直到B8配C8,不是每格與另一欄全部互乘。
本課資料沒有折扣、稅或運費,E2就是七項文具的單價乘數量合計;若真實訂單有額外費用,不能直接把本結果當成最後應付金額。
輸入這個公式
在 E2 輸入以下公式,按 Enter。
=SUMPRODUCT(B2:B8,C2:C8)
輸入位置:E2 正確結果:370
語法與引數
=SUMPRODUCT(array1,[array2],[array3],...)
引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。
array1 必要。第一組要逐項運算的資料,本例B2:B8單價欄。一個連續範圍就是一組資料,七格不代表七個參數。
[array2],[array3],... 選填第二至第255組資料。本例提供第二組C2:C8數量欄;各組大小與形狀必須相同,函數會把相同位置相乘,再把每個位置的結果相加。
公式使用半形標點;部分地區設定以分號分隔引數,請依 Excel 的提示調整。
照著做並核對畫面
- 新增一張空白工作表,點選 A1,依資料表輸入到 C8。第一列是標題,第2至第8列才是七筆紀錄;數字欄只輸入數字,單位留在標題或說明中。
- 在公式列左側的名稱方塊輸入 A1:C8,按 Enter 檢查資料的位置。特別檢查B4是15、C4是4;不要把單價與數量輸入到同一格。 若貼上後擠在同一格,先重新分欄輸入,確認每個欄位各占一欄。
- 點選 E1,輸入「採購總金額」。再點選 E2,確保結果放在原始資料右側,不覆蓋資料,也不把 E2 自己包含在計算範圍內。
- 切換半形英數輸入,在 E2 完整輸入 =SUMPRODUCT(B2:B8,C2:C8)。輸入完成先核對函數拼字、冒號與左右括號,再按 Enter;請勿把語法說明中的方括號輸入公式。
- 確認 E2 顯示 370,再重新點選 E2。公式列應顯示 =SUMPRODUCT(B2:B8,C2:C8),儲存格則顯示答案;若答案不同,先核對資料與範圍,不要直接把答案數字覆寫進 E2。

圖 1 Excel 網頁版實際操作畫面。Windows 桌面版工具列外觀可能不同。
結果解讀
先算前三列:B2×C2是10×3=30,B3×C3是40×2=80,B4×C4是15×4=60,三項金額合計170。
接著算第5至第8列:20×1=20、30×2=60、25×2=50、35×2=70,這四項合計200。
把七個乘積30、80、60、20、60、50、70相加,170+200=370,得到E2的採購總金額。
若錯把單價總和175與數量總和16相乘,會得到2800,包含不屬於同一品項的交叉配對。本函數只做七組正確配對,所以是370。
一次函數就完成兩個動作:先配對相乘,再把乘積相加。不需要另外呼叫其他函數,也不用先做小計欄;手算清單只用來驗證。
本課使用逗號分隔的範圍寫法,範圍內非數字會被當作0,可能使總額低估。輸入「3件」不等於數字3,因此先把單位移到欄名。
兩個範圍大小不同會顯示#VALUE!。即使大小一樣,若其中一欄錯開一列也可能算出數字,卻是錯誤配對;不要只看公式有沒有報錯。檢查結果時可先估算一列,而不是直接相信總額。例如筆記本兩本、每本四十,該列應是八十;若手算與資料不符,先查同一列的兩個輸入。所有品項都確認後再核對總額,這樣能分辨問題來自資料輸錯、配對錯誤,還是漏選最後一列。同一列的價格和數量要屬於同一計價單位;若價格是每盒、數量卻記每支,應先統一資料單位,函數不會自動辨認並換算。
常見錯誤
- 出現#VALUE!
原因:兩個範圍筆數不同,例如一個到第8列,另一個只到第7列。 處理:選E2查看公式列,把兩組範圍恢復為B2:B8與C2:C8。
- 公式有答案但比370少
原因:某一格被輸入成帶單位的文字,或缺少單價、數量。 處理:依表逐格檢查B2:C8,將數字重新輸入為純數字;未確認的缺值不要直接補0。
- 數字全部正確,總額仍不符
原因:兩組範圍錯開位置,或曾只排序單價而沒同時移動數量。 處理:先恢復完整原表的列配對,再核對B2配C2直到B8配C8;公式應放E2。
自己試一次
先遮住解答,試著自己輸入公式並預測結果。每題都從上方的原始資料重新開始,結果放在題目指定的儲存格。
練習 1 筆記本調價
先恢復本課原始資料。只把B3改成50,在E2重新計算總金額。
參考公式:
=SUMPRODUCT(B2:B8,C2:C8)
正確結果:390
解答 1 筆記本數量仍2,金額從40×2=80增加到50×2=100。
解答 2 其他項不變,總額370+20=390。
練習 2 暫不買橡皮擦
先恢復本課原始資料。只把C4改成0,在E2重新計算總金額。
參考公式:
=SUMPRODUCT(B2:B8,C2:C8)
正確結果:310
解答 1 橡皮擦由15×4=60變成15×0=0,原列可保留。
解答 2 總額370減去60為310;數量0仍是有效數字。
練習 3 計算後四項
先恢復本課原始資料。資料不變,在E2只計算第5至第8列的金額。
參考公式:
=SUMPRODUCT(B5:B8,C5:C8)
正確結果:200
解答 1 配對金額依序為20、60、50、70,兩範圍都從第5列起。
解答 2 20+60+50+70=200,不能只縮短其中一個範圍。