我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
Sumproduct可以分为Sum和product,这分开的两个函数都是独立的函数,sum是求和,product是乘积,和起来我一般叫它乘积求和函数。SUMPRODUCT函数向来被称之为万能函数,可以进行各种条件计数和条件求和。 先说下它的语法:SUMPRODUCT(array1, [array2], [array3], ...),array是数组的意思,我们可以有255组,当然我们很少会用到这么多,一般用到4-5个就不错了,我最多也就用过8个,当时为了多条件查询数据,未获得保险产品费率,需要产品名称、缴费方式、缴费年期、部门/分公司、首期/续期等信息。 先透露下,这个函数不但可以做自己的事,也能做sumifs的事,甚至连countifs的事也一起做了。
SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。其语法如下:
=SUMPRODUCT(array1,[array2],[array3],...
array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。
array2,array3,...:可选。2到255个数组参数,其相应元素需要进行相乘并求和。
SUMPRODUCT函数注意事项:
1.在使用SUMPRODUCT函数时,数组参数必须具有相同的维数。
2.区域或数组中非数值元素将会当0处理
SUMPRODUCT函数经常用来根据指定条件进行精确查找,其实也可以进行模糊查找。如下图表格所示,如何统计城区小学所有男学生的成绩之和?
解决:这里城区小学包括城区一小、城区二小和城区三小,可以进行模糊条件查找。因为SUMPRODUCT函数函数是不支持通配符*或者?的,所以我们在进行模糊条件查找时,需要结合其它函数来实现。输入公式
=SUMPRODUCT(ISNUMBER(FIND("城区",C2:C13))*(B2:B13="男"),D2:D13)
说明:先用FIND函数在C2:C13这个区域中查找“城区”这个字符串,若存在返回相应位置,不存在则返回#VALUE!错误值;ISNUMBER函数是用来检测是否为数值,是的话返回TRUE,否则返回FALSE;最后用SUMPRODUCT函数进行多条件求和。
如下图表格所示,我们如何求出各个季度的成交总数?
解决:选中统计表中的空白单元格区域,在E2单元格中输入公式
=SUMPRODUCT(N(CEILING(MONTH($A$2:$A$15)/3,1)=D2),$B$2:$B$15),
按Ctrl+Enter组合键完成所有公式填充。
在工作中,我们经常需要根据一维表数据源,在二维表里进行分类统计。如下图表格所示,如何统计各门店各类商品的销量?
解决:选中二维表中的空白单元格区域,在F2单元格中输入公式
=SUMPRODUCT(($A$2:$A$25=F$1)*($B$2:$B$25=$E2),$C$2:$C$25),
按Ctrl+Enter组合键完成所有公式填充。
说明:这里用到的实际上是SUMPRODUCT函数的多条件求和,公式中第一个条件是指定的门店,注意F1单元格的引用是锁定行,第二个条件指定的商品,注意E2单元格的引用是锁定列。
表格内数据按项目组归类排布,如果进行分组排名,可输入公式:
=SUMPRODUCT(($B$2:$B$14=B2)*($C$2:$C$14>C2))+1
说明:这里利用SUMPRODUCT函数进行多条件计数,$B$2:$B$14=B2求出当前单元格所在小组的个数,$C$2:$C$14>C2求出单元格区域中大于当前单元格的个数。统计完成后在得出的数字基础上加上1,就得到了当前单元格在所属组别中的名次。
如果项目组之间数据打乱,也可以添加分组名称进行详细标注,这时我们输入公式:
=B2&"第"&SUMPRODUCT(($B$2:$B$14=B2)*($C$2:$C$14>C2))+1&"名"
上面例子中,我们对分组进行排名,出现并列名次时是按照西式的排名方式。如果要根据中国式的分组排名,我们可以输入数组公式:(Ctrl+Shift+Enter 三键输入)
=SUMPRODUCT(($B$2:$B$14=B2)*($C$2:$C$14>=C2)/
COUNTIFS($B$2:$B$14,$B$2:$B$14,$C$2:$C$14,$C$2:$C$14))
说明:这里用到了SUMPRODUCT函数的多条件求和,=SUMPRODUCT((条件1)*(条件2)*…*求和区域)。这里我们可以把公式看成:=SUMPRODUCT(($B$2:$B$14=B2)*($C$2:$C$14>=C2)*1/COUNTIFS($B$2:$B$14,$B$2:$B$14,$C$2:$C$14,$C$2:$C$14))
($B$2:$B$14=B2)*($C$2:$C$14>=C2)这部分为条件1和条件2,在B列和C列中,对等于B2且C列对应单元格大于C2进行条件判断,满足的话为TRUE,否则为FALSE,两者相乘为1或0,得到是数组结果;
COUNTIFS($B$2:$B$14,$B$2:$B$14,$C$2:$C$14,$C$2:$C$14),这里是查找B列到C列中,每一行出现的次数,得到数组结果是{1;1;1;1;1;1;2;1;2;1;1;1;1};
1/COUNTIFS($B$2:$B$14,$B$2:$B$14,$C$2:$C$14,$C$2:$C$14)得到的结果是
{1;1;1;1;1;1;0.5;1;0.5;1;1;1;1},0.5+0.5=1,得出的结果可以视为区域中不重复项的个数。
符合($B$2:$B$14=B2)*($C$2:$C$14>=C2)这两个条件并统计区域中不重复项的个数,即可得到排名结果。
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08