函数SUMPRODUCT是一个集计数与求和于一身的函数,数组公式中函数SUMPRODUCT能取代函数SUM且不用按<Ctrl+Shift+Enter>三键结束。
函数定义:
在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
语法格式:
SUMPRODUCT(array1, [array2], [array3], …)
array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。
array2, array3,…:可选。2 到 255 个数组参数,其相应元素需要进行相乘并求和。
1、忽略文本求和
输入公式:
=SUMPRODUCT(A2:A10)
函数SUMPRODUCT将非数值型的数组元素作为0处理。
公式就是SUMPRODUCT({1;0;2;0;3;0;0;0;5}),即返回11
2、文本型数值求和
输入公式:
=SUMPRODUCT(B2:B9*1)
B2:B9单元格数值是文本型,*1是将文本型数值转换成数值型
可以用“–”、“+0”、“-0”、 “/1”、“^1”等等来转换
3、单条件计数
求业绩大于等于5000的个数:
输入公式:
=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((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((B2:B9=”销售一部”)*(C2:C9>=5000))
多条件计数语法:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N))
6、多条件求和
求销售一部业绩大于等于5000的和:
输入公式:
=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)
多条件求和语法中求和条件前使用“*”与“,”的区别:
当求和区域中没有文本时,“*”与“,”可以互相通用;
当求和区域中有文本时使用“,”,若使用“*”会返回错误值#VALUE!
7、单条件计算不重复个数
求业务员不重复的个数:
输入公式:
=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((B2:B9>=5000)*(B2:B9<15000)*B2:B9)
或者:
=SUMPRODUCT((B2:B9>=5000)*(B2:B9<15000),B2:B9)
9、隔列求和
求入库、出库合计:
输入公式:
=SUMPRODUCT(($B$2:$G$2=H$2)*$B3:$G3),右拉下拉填充。
10、数组相乘
求总提成:
输入公式:
=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((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(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求和。
今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。
|
|
打开微信扫一扫,Office自学网
专注分享软件安装和视频教程,让你一号在手,办公无忧!