SUMPRODUCT排出我们习惯的名次

RANK和RANK.EQ排出来的名次,如果有相同的数值会出现相同的排名,再继续排下去,会出现名次“间断”的情况,比如,两个第三名后,会直接出现第五名,而没有第四名,这种“不连续”名次,咱不喜欢 。如下图,不受欢迎的排名方式:

SUMPRODUCT排出我们习惯的名次

文章插图
【SUMPRODUCT排出我们习惯的名次】这种名次“间断”的排名方式,有人称之为“美式排名”,那咱今天就 “中式排名” 。
公式实现
在D2中输入函数:
=SUMPRODUCT(($B$2:$B$7>=B2)/COUNTIF($B$2:$B$7,$B$2:$B$7)):
SUMPRODUCT排出我们习惯的名次

文章插图
函数的解释:
($B$2:$B$7>=B2),返回值是:
{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}
即:{1;0;0;0;0;0}
COUNTIF($B$2:$B$7,$B$2:$B$7),返回值是:
{1;1;2;2;1;1},
SUMPRODUCT(($B$2:$B$7>=B2)/COUNTIF($B$2:$B$7,$B$2:$B$7))即是:SUMPRODUCT({1;0;0;0;0;0}),即得名次1.
在D5单元格的公式:
=SUMPRODUCT(($B$2:$B$7>=B5)/COUNTIF($B$2:$B$7,$B$2:$B$7))
($B$2:$B$7>=B4),返回值是:
{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE}
即:{1;1;1;1;0;0}
COUNTIF($B$2:$B$7,$B$2:$B$7),返回值是:
{1;1;2;2;1;1}
SUMPRODUCT(($B$2:$B$7>=B5)/COUNTIF($B$2:$B$7,$B$2:$B$7))
即是:SUMPRODUCT({1;1;0.5;0.5;0;0}),即得名次3.

    推荐阅读