一个万能的函数 函数sumproduct

函数SUMPRODUCT是一个集计数与求和于一身的函数 , 数组公式中函数SUMPRODUCT能取代函数SUM且不用按<Ctrl Shift Enter>三键结束 。
函数定义:
在给定的几组数组中 , 将数组间对应的元素相乘 , 并返回乘积之和 。
语法格式:
SUMPRODUCT(array1, [array2], [array3], ...)
array1:必需 。其相应元素需要进行相乘并求和的第一个数组参数 。
array2, array3,...:可选 。2 到 255 个数组参数 , 其相应元素需要进行相乘并求和 。
1、忽略文本求和

一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(A2:A10)
函数SUMPRODUCT将非数值型的数组元素作为0处理 。
公式就是SUMPRODUCT({1;0;2;0;3;0;0;0;5}) , 即返回11
2、文本型数值求和
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(B2:B9*1)
B2:B9单元格数值是文本型 , *1是将文本型数值转换成数值型
可以用“--”、“ 0”、“-0”、 “/1”、“^1”等等来转换
3、单条件计数
求业绩大于等于5000的个数:
【一个万能的函数 函数sumproduct】
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(N(B2:B9>=5000))
B2:B9>=5000部分返回{FALSE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE}
条件成立返回逻辑值TRUE , 条件不成立返回逻辑值FALSE
函数N:将不是数值形式的值转换为数值形式 。日期转换为序列值 , TRUE转换成1 , 其他值转换成0 。
同样的 , 也可以用“--”、“ 0”、“-0”、 “/1”、“^1”、“*1”等等来转换
N(B2:B9>=5000)部分返回{0;1;1;0;0;1;1;0}
用函数SUMPRODUCT求和返回4
4、单条件求和
求业绩大于等于5000的和:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT((B2:B9>=5000)*B2:B9)
(B2:B9>=5000)部分返回{FALSE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE}
发生四则运算时 , TRUE相当于1 , FALSE相当于0
(B2:B9>=5000)*B2:B9部分返回{0;7800;6521;0;0;16660;8054;0}
用函数SUMPRODUCT求和返回39035
5、多条件计数
求销售一部业绩大于等于5000的个数:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT((B2:B9="销售一部")*(C2:C9>=5000))
多条件计数语法:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N))
6、多条件求和
求销售一部业绩大于等于5000的和:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT((B2:B9="销售一部")*(C2:C9>=5000)*C2:C9)
多条件求和语法:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N)*求和区域)
或者:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N),求和区域)
该题也可以用公式:
=SUMPRODUCT((B2:B9="销售一部")*(C2:C9>=5000),C2:C9)
一个万能的函数 函数sumproduct

文章插图
多条件求和语法中求和条件前使用“*”与“,”的区别:
当求和区域中没有文本时 , “*”与“,”可以互相通用;
当求和区域中有文本时使用“,” , 若使用“*”会返回错误值#VALUE!
7、单条件计算不重复个数
求业务员不重复的个数:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(1/COUNTIF(A2:A9,A2:A9))
COUNTIF(A2:A9,A2:A9)部分统计区域A2:A9中每个单元格内容在该区域中出现的次数 , 返回{2;1;2;3;1;1;3;3}
1/{2;1;2;3;1;1;3;3}是将重复数据算作1 , 比如出现2次的是1/2 , 出现3次的是1/3 , 
1/COUNTIF(A2:A9,A2:A9)部分返回
{0.5;1;0.5;0.333333333333333;1;1;0.333333333333333;0.333333333333333}
用函数SUMPRODUCT求和返回5
8、区间求和
求业绩大于等于5000、小于15000的和:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT((B2:B9>=5000)*(B2:B9<15000)*B2:B9)
或者:
=SUMPRODUCT((B2:B9>=5000)*(B2:B9<15000),B2:B9)
一个万能的函数 函数sumproduct

文章插图
9、隔列求和
求入库、出库合计:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(($B$2:$G$2=H$2)*$B3:$G3) , 右拉下拉填充 。
10、数组相乘
求总提成:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(B2:B9*C2:C9)
B2:B9*C2:C9返回每个业绩*对应提成比例 , 即返回{45.06;390;326.05;136.89;2001.5;1466;402.7;138.75}
然后用函数SUMPRODUCT求和
11、有条件的数组相乘
求“销售一部”的总提成:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT((A2:A9="销售一部")*C2:C9*D2:D9)
(A2:A9="销售一部")条件成立返回TRUE , 条件不成立返回FALSE , 即{TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE}
然后*C2:C9返回的是销售一部的业绩 , 即{1502;7800;0;0;20015;14660;0;4625}
再*D2:D9返回的就是销售一部对应的提成 , 即{45.06;390;0;0;2001.5;1466;0;138.75}
最后用函数SUMPRODUCT求和
12、带"~"求和
求业务员中有带“~”的业绩和:
一个万能的函数 函数sumproduct

文章插图
输入公式:
=SUMPRODUCT(ISNUMBER(FIND("~",B2:B9))*C2:C9)
函数SUMPRODUCT不能使用通配符 , 但可以与函数FIND相结合完成对应功能
FIND("~",B2:B9)部分找到“~”在各业务员字符串中的位置 , 没有“~”返回错误值#VALUE! , 该部分返回{2;#VALUE!;3;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!}
函数ISNUMBER:判断一个值是否为数值 , 返回TRUE或FALSE 。
ISNUMBER(FIND("~",B2:B9))部分返回{TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE}
再*C2:C9返回带“~”的各业务员的业绩{1502;0;6521;0;0;14660;0;0}
最后用函数SUMPRODUCT求和 。
,