EXCEL中关于排名的函数主要有rank函数,但在实际工作中,经常需要根据多个条件来进行排名。rank函数显然已不能满足,EXCEL中也同样没有一个单独的多条件排名的函数。但是,EXCEL中有一个神奇的函数,可以实现多个功能,其中就包含多条件排名的功能。它就是sumproduct函数。

sumproduct函数的基础功能和语法:

sumproduct是两个词语的组合,sum表示【求和】、product表示【乘积】,它的功能就是返回相应的数组或区域乘积的和。

基础语法:

sumproduct(区域1,区域2,区域3,...)

区域可以增加多个,但是每个区域必须具有相同的大小,否则计算结果就会是错误值。

基础用法案例:

输入公式:=SUMPRODUCT(A1:A3,B1:B3)

结果:98

计算过程:2*3+4*8+4*6=98

来看看扩展应用,下图是某销售目标达成情况表

扩展应用1:多条件计数,统计各区域达标网点数

语法:

sumproduct((条件区域1=条件1)*(条件区域2=条件2)*(...))

公式:

=SUMPRODUCT(($A$2:$A$10=B$13)*($F$2:$F$10=$A14))

此公式功能其实就等同于与countifs函数。


扩展应用2:多条件排名,统计商店的区域达成率排名

语法:

sumproduct((条件区域1=条件1)*(条件区域2=条件2)*(...)*(排名区域>排名数值))+1

在G2单元格输入公式并下拉:

=SUMPRODUCT(($A$2:$A$10=A2)*($E$2:$E$10>E2))+1

公式解析:观察一下上面多条件计数和多条件排名的公式语法,多条件排名有一部分是与多条件计数公式相同的:

SUMPRODUCT(条件区域1=条件1)*(条件区域2=条件2)*(...)

这一部分就是实现多条件计数功能。

然后在此基础上增加了:*(排名区域>排名数值)

它的功能就是在符合多条件的前提下,再计算出大于排名数值的个数。

公式最后+1,最终实现排名。

很多人不理解为什么公式最后要加1。因为它是先计算出大于排名数值的个数,加上1,才会是最终名次。打个通俗的比方。把排名的数值想象成是一组队员在进行一场赛跑比赛,它是计算比你跑得快的人有几个。如果跑在你前面的人有1个,那么你就是第2名。如果没人跑在你前面,你就是第1名。

本节讲解了运用SUMPRODUCT函数实现多条件排名的功能,其实这个函数还能实现更多的功能,以后再跟大家一起学习它的其他用法。创作不易,各位看官老爷请多多给小编点赞!