排名函数RANK救不了你,试试万能王SUMPRODUCT
一般在算排名的时候,都是用RANK函数,但这个函数并非万能。
现在按照语文的分数进行排名,这就是最常用的排名方法。
=RANK(C2,$C$2:$C$13)
上面是按全年级排名,如果想按照班级排名呢?
这时RANK函数就用不上了,需要用到万能王SUMPRODUCT。
在很多人眼中,这个就是条件求和的函数,比如现在按班级求总分。
=SUMPRODUCT(($A$2:$A$13=G2)*$C$2:$C$13)
函数语法:
=SUMPRODUCT((条件区域=条件)*求和区域)
这个之所以好用,就是可以结合很多函数,比如现在要统计每个姓氏的总成绩。
=SUMPRODUCT((LEFT($B$2:$B$13,1)=G8)*$C$2:$C$13)
其实,这个函数还可以做排名。
=SUMPRODUCT(($A$2:$A$13=A3)*(C3<=$C$2:$C$13))
($A$2:$A$13=A3)就是判断是不是等于本班级的。
(C3<=$C$2:$C$13)就是判断这个分数小于等于多少个数。比如114、111、103、115这4个数,114小于等于2个数(114和115),所以排名第2。再比如115小于等于1个数(115也就是本身),所以排名第1。
以上,就是排名公式的由来。
当然,除了以上2种最常见的排名,有并列排名:
=RANK(D2,D$2:D$13)
班级排名:
=SUMPRODUCT((A$2:A$13=A2)*(D2<=D$2:D$13))
无并列排名:
=RANK(D2,D$2:D$13)+COUNTIF(D$2:D2,D2)-1
中国式排名,这个是数组公式,需要按Ctrl+Shift+Enter结束。
=COUNT(1/FREQUENCY(D$2:D$13,IF(D$2:D$13>=D2,D$2:D$13)))
加权排名:
=SUMPRODUCT(–(D$2:D$13+C$2:C$13%>=D2+C2%))