使用Excel如何实现“中国式”排名?

使用Excel如何实现“中国式”排名?

排名的本质是什么呢?排名就是一个数字在一组数字中从大到小或者从小到大中的位置。西方的排名方式与中国的排名的方式大体相同,但却也有一处非常明显的差别。那就是对于并列名次后的处理。如下图所示:

如果数据不重复的情况的下,不管中国式排名还是西方式排名,都是一样的,用rank函数即可搞定。

以上图为例公式即为:

=RANK(B2,$B$2:$B$17)

然而中国式排名显然用这个公式就不合适了,那么该如何做呢?

1.排名都是拿某个数字跟包含这个数字的一组数字比较大小,看看这一组数字大于等于(或者小于等于)这个的数字有多少个,有第一个就是排名第1,有2个就是排名第二……,rank函数也是这个逻辑。根据这个逻辑我们暂时得到以下的公式:

=$B$2:$B$17>=B2分别拿$B$2:$B$17区域中的每个数字与B2的值进行比较,如果其中有数字大于等于B2,则返回TRUE,否则返回FALSE。这时我们在此公式的前面加两个负号即可将其转换为1和0.

=--($B$2:$B$17>=B2)当$B$2:$B$17中有重复数字时,我们得到至少两个重复的逻辑值。

2.然后我们通过countif函数求出这一组数字中每个数字的个数。如下图所示,我们利用countif函数可以办到这一点:

{=COUNTIF(B2:B17,B2:B17)}

非重复数字为1,重复数字则是有多少个相同数字,则得出同样的个数。我们用1去除这个结果,然后外层嵌套一个sum函数即可得到这一串数字中的不重复数字的个数:

{=SUM(1/COUNTIF(B2:B17,B2:B17))}

3.我们将1和2的公式整合在一起就可以得到每个值的中国式排名了。

{=SUM(--($B$2:$B$17>=B2)/COUNTIF($B$2:$B$17,$B$2:$B$17))}由于公式需要向下复制,因此要实用绝对引用。

tag:如何实现电脑软件excel

相关内容