如何在Excel中进行中国式排名
时间:2022-08-07 07:59:31
所谓中国式排名,是指排名时如果出现并列的情况,并列者不占用名次。例如有两个并列第2名,则下一个名次还是为第3 名,而不是排到第4 名,这似乎更符合中国人的习惯。而在Excel中用RANK函数排序时,并列者将占用名次,因而会导致后面有的名次会出现空缺。在许多情况下,我们可能要用到中国式排名。下面是几种进行中国式排名的方法:
一、用辅助列
在能够改变表格结构的情况下,可以先对表格按降序的方式排序,然后在辅助列中输入公式,获得中国式排名。
如下图A1:D19区域中是某公司年度考核成绩表,总成绩在D列中,现在要对D列进行中国式排名。
1.选择D2:D19列中的任一单元格,单击工具栏中的“Z→A”按钮,使总成绩按降序排序。
2.在E2单元格中输入公式:
=RANK(D2,$D$2:$D$19)
然后向下拖,将公式填充到E3:E19区域。
3.在F2单元格中输入数值“1”。然后在F3单元格中输入公式:
=IF(E3=E2,F2,F2+1)
然后向下拖,将公式填充到F3:F19区域,即可得到中国式排名。
这种方法操作简单,无需复杂的公式,缺点是要使用辅助列。
二、使用公式
用下面的几个公式都可以获得中国式排名,还是以上图为例,在单元格中输入公式并向下拖:
=SUMPRODUCT((D$2:D$19>D2)/COUNTIF(D$2:D$19,D$2:D$19))+1
或下面的几个数组公式,公式输入完毕后按Ctrl+Shift+Enter结束:
=SUM(IF(D$2:D$19>D2,1/COUNTIF(D$2:D$19,D$2:D$19)))+1
=SUM(--(FREQUENCY(D$2:D$19,IF(D$2:D$19>=D2,D$2:D$19))>0))
=SUM(--IF(D$2:D$19>=D2,MATCH(D$2:D$19,D$2:D$19,)=ROW($2:$19)-1))