一般在算排名的时候,都是用RANK函数,但这个函数并非万能。

排名函数RANK救不了你,试试万能王SUMPRODUCT

现在按照语文的分数进行排名,这就是最常用的排名方法。

=RANK(C2,$C$2:$C$13)

排名函数RANK救不了你,试试万能王SUMPRODUCT

上面是按全年级排名,如果想按照班级排名呢?

这时RANK函数就用不上了,需要用到万能王SUMPRODUCT。

在很多人眼中,这个就是条件求和的函数,比如现在按班级求总分。

=SUMPRODUCT(($A$2:$A$13=G2)*$C$2:$C$13)

排名函数RANK救不了你,试试万能王SUMPRODUCT

函数语法:

=SUMPRODUCT((条件区域=条件)*求和区域)

这个之所以好用,就是可以结合很多函数,比如现在要统计每个姓氏的总成绩。

=SUMPRODUCT((LEFT($B$2:$B$13,1)=G8)*$C$2:$C$13)

排名函数RANK救不了你,试试万能王SUMPRODUCT

其实,这个函数还可以做排名。

=SUMPRODUCT(($A$2:$A$13=A3)*(C3<=$C$2:$C$13))

排名函数RANK救不了你,试试万能王SUMPRODUCT

($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%))

发表回复