之前罂粟姐姐推过一篇文章Excel中SUMIF函数的10个高级用法!超级经典~,有小伙伴回复说:“还是SUMPRODUCT函数好用”。
的确,刚入门学习EXCEL的时候,最先接触到的条件统计函数就是SUMIF、SUMIFS、COUNTIF、COUNTIFS等,非常简单,容易理解和操作,但遇到特殊问题时(例如数组),就无能为力了。
这一期,就给大家介绍这个能计数、能求和、能排名的计算全能王函数:SUMPRODUCT。
目录:
认识SUMPRODUCT函数
SUMPRODUCT函数与SUM函数的异同
快速求和
加权汇总
多条件计数
多列联动条件判断计数
多条件求和
隔列求和
统计不重复项个数
中国式排名
还解决了一个困扰我两年的难题
1、认识SUMPRODUCT函数
从SUMPRODUCT本身的意思来理解,SUM是求和,PRODUCT是相乘,所以SUMPRODUCT函数就是相乘之后再求和。
例如:有两组数据分别为1-5和6-10,使用SUMPRODUCT函数计算过程如图所示。
2、SUMPRODUCT函数与SUM函数的异同
从一定程度上来说,SUMPRODUCT函数带有数组运算的性质,可以实现多项计算。
3、快速求和
现有一公司2016年在各城市的销售量及产品单价,需计算2016年全年总销售额。
公式=SUMPRODUCT(B2:B16,C2:C16)
4、加权汇总
现有一员工2016年工作完成情况及各项工作指标KPI,需计算2016年总绩效得分。
公式=SUMPRODUCT(B2:B6,C2:C6)
5、多条件计数
公式套路:
(1)=SUMPRODUCT((区域1=条件1)*(区域2=条件2)*......*(区域N=条件N))
(2)=SUMPRODUCT((区域1=条件1)*1,(区域2=条件2)*1,…,(区域N=条件N)*1)
(1)或(2)两种形式都可以。
现有一公司2016年各销售员每次的销售额,需计算销售员杨过销售额大于10万的次数。
6、多列联动条件判断计数
现有一公司2016年各销售员实际销售额与计算销售额,需计算实际销售额小于计划销售额的次数,即没有完成任务的次数。
公式=SUMPRODUCT((E2:E16<F2:F16)*1)
7、多条件求和
公式套路:
(1)=SUMPRODUCT((区域1=条件1)*(区域2=条件2)*......*(区域N=条件N)*汇总区域)
(2)=SUMPRODUCT((区域1=条件1)*(区域2=条件2)*…*(区域N=条件N),汇总区域)
(1)或(2)两种形式都可以。
现有一公司2016年各销售员每次的销售额,需计算销售员杨过在河南地区的总销售额。
公式=SUMPRODUCT((B2:B16="河南")*(D2:D16="杨过")*E2:E16)
8、隔列求和
现有一公司2016年各部门各月借贷额度,需计算2016年各月借贷总额。
借方公式:=SUMPRODUCT((MOD(COLUMN($B$2:$I$2),2)=0)*B3:I3)
贷方公式:=SUMPRODUCT((MOD(COLUMN($B$2:$I$2),2)=1)*B3:I3)
9、统计不重复项个数
剔除重复值再数据处理中非常常见,COUNTIF通过数组运算得到一个数组结果,即区域中每个单元格在整列中所出现的次数,将这个数组求其倒数,然后求和就可以得到唯一值的总个数。
公式=SUMPRODUCT(1/COUNTIF($E$2:$E$16,$E$2:$E$16))
10、中国式排名
可能有Excel基础的都知道排序用RANK函数就能搞定,可是在使用RANK函数进行排名时,出现相同名次,其后的排名数字会自动向后移位。
在我们的生活中还存在着另一种排名方式,它的特点是相同名次不影响后续的排名名次,无论有几个第一名存在,后面的名次始终还是第二名。
=SUMPRODUCT(($E$2:$E$16>=E2)*(1/COUNTIF($E$2:$E$16,$E$2:$E$16)))
11、还解决了一个困扰我两年的难题
A列为全国各地区的编码,1-34分别代表全国23个省(包括台湾省)、5个自治区、4个直辖市、2个特别行政区。B列为三级分公司的编码,1-3分别代表一级分公司、二级分公司、三级分公司。
现需要设置各地区各级分公司唯一ID,ID=地区编码+分公司级别编码+同一地区同一分公司第几次出现。
公式=A2&B2&SUMPRODUCT(1*(A2&B2=A$2:A2&B$2:B2))
完全是最开始计划想要得到的结果,利用一个函数完美的解决了困扰了2年的问题。
当然,SUMPRODUCT因为有数组运算的性质,所以在计算效率上没有普通函数高,所以对于一般的简单问题,不建议使用SUMPRODUCT这样的高级函数。
2017年,罂粟姐姐将继续走在精进Excel的路上,您,是否愿意与我同行呢?一起加油!