SUMPRODUCT函數是Excel中的數學函數,也是一個“神函數”。之所以稱之為“神”,是因為它求和、計數、多權重統計、排名,都能完成。
函數解釋
基本語法為:
SUMPRODUCT(array1,[array2], [array3], ...)
SUMPRODUCT 函數語法具有下列參數:
Array1:必需。其相應元素需要進行相乘並求和的第一個數組參數。
Array2, array3,...:可選。 2 到 255 個數組參數,其相應元素需要進行相乘並求和。
特別注意:
數組參數必須具有相同的維數。否則,函數 SUMPRODUCT 將返回 #VALUE! 錯誤值#REF!。
1、基本用法
SUMPRODUCT函數最基本的用法是:
數組間對應的元素相乘,並返回乘積之和。
如下圖:
公式:=SUMPRODUCT(B2:B9,C2:C9)
該公式的含義是:
B2*C2+B3*C3+B4*C4+B5*C5+B6*C6+B7*C7+B8*C8+B9*C9
2、單條件求和
如下圖,計算女員工業績得分和:
公式:
=SUMPRODUCT((B2:B11="女")*C2:C11)
其中:
B2:B11="女":
將B2:B11內每個單元格值與“女”比較,凡是性別為“女”的是TRUE,否則是FALSE,結果返回一組邏輯值:
{FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;}
(B2:B11="女")*C2:C11:
將上述邏輯數組內的值與對應的C2:C11的數值相乘。
3、多條件求和
如下圖,計算女員工業績得分高於15的得分和:
公式:
=SUMPRODUCT((B2:B11="女")*(C2:C11>15),C2:C11)
多條件求和的通用寫法是:
=SUMPRODUCT((條件一)*(條件二)*……*(條件N),求和範圍)
4、模糊條件求和
如下圖,計算銷售部門女員工業績得分和:
銷售部門不止一個,要查找所有的銷售部門,就要按照關鍵字“銷售”查找,就屬於模糊查找。
公式:
=SUMPRODUCT(ISNUMBER(FIND("銷售",A2:A11))*(C2:C11="女"),D2:D11)
其中:
FIND("銷售",A2:A11):
在A2:A11各單元格值中查找"銷售",如果能查到,返回"銷售"在單元格值中位置,如果差不到,返回錯誤值#VALUE!。
本部分的結果是:
{#VALUE!;1;1;1;#VALUE!;1;#VALUE!;#VALUE!;1;#VALUE! }
ISNUMBER(FIND("銷售",A2:A11)):
判斷上述數值中各值是不是數字,如果是,返回TRUE,否則返回FALSE,所以,本部分公式的結果是:
{FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}
5、單條件計數
計算女員工人數:
公式:
=SUMPRODUCT(N(B2:B11="女"))
N函數:
語法:N(VALUE);
功能:將不是數值的值轉換為數值形式;
不同參數VALUE,對應的返回值:
本示例中,N(B2:B11="女"),是將等於女的值TRUE返回1,不等於女的值FALSE返回0。
6、多條件計數
計算女員工業績得分高於15的人數
公式:
=SUMPRODUCT((B2:B11="女")*(C2:C11>15))
7、模糊條件計數
計算銷售部門女員工人數
公式:
=SUMPRODUCT(ISNUMBER(FIND("銷售",A2:A11))*(C2:C11="女"))
8、按月份統計數據
要求:
按月份統計銷售總額
公式為:
=SUMPRODUCT((MONTH($A$2:$A$13)=D2)*($B$2:$B$13))
9、跨列統計
要求:
統計三個倉庫的銷售總量與庫存總量
公式為:
=SUMPRODUCT(($B$2:$G$2=H$2)*$B3:$G3)
(此公式中一定要注意相對引用於絕度引用的使用)
10、多權重統計
要求:
根據分項得分與權重比例計算總分
公式為:
=SUMPRODUCT(B$2:D$2,B3:D3)
11、二維區域統計
要求:
統計各銷售部門各商品的銷售總額
公式為:
=SUMPRODUCT(($B$2:$B$13=$E2)*($A$2:$A$13=F$1)*$C$2:$C$13)
12、不間斷排名
用RANK函數排名,如果有數值相同的情況,會出現名次間斷現象,用SUMPRODUCT函數,很好的避免這種名次的間斷。
如下圖:
C6單元格公式為:
=SUMPRODUCT(($B$2:$B$7>=B6)/COUNTIF($B$2:$B$7,$B$2:$B$7))
($B$2:$B$7>=B6),返回值是:
{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE}
即:{1;1;1;1;1;0}
COUNTIF($B$2:$B$7,$B$2:$B$7),返回值是:
{1;1;2;2;1;1}
SUMPRODUCT(($B$2:$B$7>=B6)/COUNTIF($B$2:$B$7,$B$2:$B$7))
即是:SUMPRODUCT({1;1;0.5;0.5;1;0}),即得名次4。
閱讀更多 韓老師講office 的文章