SUMPRODUCT函数还有这么多用法,你却只会用它来求和?
很多人都以为SUMPRODUCT函数只可以用来求和,其实关于这个函数的用法,大家可能没有深入去了解!今天跟大家分享SUMPRODUCT函数的6个用法!
函数含义:返回相应的数组或区域乘积之和。(默认运算是乘法,但加、减和除也可能)。
函数公式:=SUMPRODUCT(array1,[array2],[array3],…)。
函数解析:array1,array2,array3,...,为数组参数。
一、单条件求和。
求销售额大于等于4000的和。
F4单元格公式:=SUMPRODUCT((D3:D12>=4000)*D3:D12)。
公式解析:D3:D12>=4000是一个条件区域,返回的结果是:{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE},与其它数据发生四则运算时,TRUE相当于1,FALSE相当于0,所以(D3:D12>=4000)*D3:D12返回的结果是:{0;5000;0;4000;6000;8000;5000;0;0;4000},最后用SUMPRODUCT函数将数组中的每个值进行相加,得到结果:32000。
二、多条件求和。
求销售一部销售额大于等于4000的和。
F4单元格公式:=SUMPRODUCT((C3:C12="销售一部")*(D3:D12>=4000)*D3:D12)。
或者:=SUMPRODUCT((C3:C12="销售一部")*(D3:D12>=4000),D3:D12)。
公式解析:(C3:C12="销售一部")是第一个条件,返回的结果是:{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE},(D3:D12>=4000)是第二个条件区域,返回的结果是:{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE},(C3:C12="销售一部")*(D3:D12>=4000)返回的结果是:{0;0;0;0;1;0;1;0;0;0},与D3:D12数据区域一一对应相乘,得到结果:{0;0;0;0;6000;0;5000;0;0;0},最后用SUMPRODUCT函数将数组中的每个值进行相加,得到结果:11000。
多条件求和语法模板:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N)*求和区域)
或者:
SUMPRODUCT((条件区域1=条件1)* (条件区域2=条件2)* (条件区域N=条件N),求和区域)
三、单条件计数。
求销售额大于等于4000的个数。
F4单元格公式:=SUMPRODUCT(N(D3:D12>=4000))。
或者:=SUMPRODUCT((D3:D12>=4000)*1)。
或者:=SUMPRODUCT((D3:D12>=4000)/1)。
或者:=SUMPRODUCT((D3:D12>=4000)-0)。
或者:=SUMPRODUCT((D3:D12>=4000)+0)。
或者:=SUMPRODUCT(--(D3:D12>=4000))。
公式解析:D3:D12>=4000是一个条件,该条件返回的结果是:{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE},因为返回的是一组由TRUE和FALSE组成的逻辑值,并不能参与计算,所以使用N函数可以将不是数值形式的值转换为数值形式,将日期转换为序列值,将TRUE转换成1,其他值转换成0。同样也可以用,*1,/1,+0,-0,--,来将不是数值型的数据转成数值型。N(D3:D12>=4000)返回的结果是:{0;1;0;1;1;1;1;0;0;1}。最后用SUMPRODUCT函数将数组中的每个值进行相加,得到结果:6。
四、多条件计数。
求销售一部销售额大于等于3000的个数。
F4单元格公式:=SUMPRODUCT((C3:C12="销售一部")*(D3:D12>=3000))。
公式解析:C3:C12="销售一部"是第一个条件区域,此时返回的结果是:{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE},D3:D12>=3000是第二个条件区域,此时返回的结果是:{TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE}。(C3:C12="销售一部")*(D3:D12>=3000)得到的结果是:{1;0;0;0;1;0;1;0;0;0},也就是将数组中的每一个值对应相乘,TRUE*TRUE=1,FALSE*FALSE=0,FALSE*TRUE=0,最后用SUMPRODUCT函数将数组中的每个值进行相加,得到结果:3。
多条件计数公式模板:
=SUMPRODUCT((条件区域1=条件1)*(条件区域2=条件2)*(条件区域N*条件N))。
五、文本型数据求和。
求文本型数据的和。
F4单元格公式:=SUMPRODUCT(D5:D9*1)。
或者:=SUMPRODUCT(D5:D9/1)。
或者:=SUMPRODUCT(D5:D9+0)。
或者:=SUMPRODUCT(D5:D9-0)。
或者:=SUMPRODUCT(--D5:D9)。
公式解析:D5:D9这个单元格区域的数据是文本格式的类型,因为文本格式并不能直接参与数值的运算,所以我们需要将文本型的数据转成数值型的数据。*1,/1,+0,-0,--,都可以将文本型的数据转成数值型的数据。
六、忽略文本型数据求和。
求数值型数据的和。
F4单元格公式:=SUMPRODUCT(D3:D12)。
公式解析:D3:D12单元格区域中,D5:D9单元格区域是文本型的数据(单元格左上角有绿色三角形就是文本格式),当我们用SUMPRODUCT函数进行求和的时候,SUMPRODUCT函数会将非数值型的数组元素作为0来处理。所以D5:D9中的数据求和时,都被作为0,最后的结果就是:17000。
好了,今天就跟大家分享到这里,如果您觉得文章有用,可以转发分享给更多的朋友,希望多多支持,谢谢!