最近有同学老是问关于排名的问题。今天世杰老师给大家整理几种比较常见的排名问题。希望对大家有帮助。
如下图所示,对两个区域的数据颽地进行排名。
在E2单元格中输入以下公式,向下填充至E16单元格。
=RANK(D2,($D$2:$D$16,$J$2:$J$16),0)
在K2单元格中输入以下公式:向下填充至K13单元格。
=RANK(J2,($D$2:$D$16,$J$2:$J$16),0)
注意:上述公式中的($D$2:$D$16,$J$2:$J$16)这部分的区分一定要使用双括号,不然公式会报错。该部分的是指两个区域连成的一个区域,逗号相当于连接符的作用。公式中要的第二个参数,其中最后一个单元格的行数一定是区域行数最多的行号。如上述两个区域最大的行号是16,所以在右边的表里的公式的最大的行也要到16,不然公式会报错。
如下图所示,要求对部门中的每个部门的分别进行排名,那么这时就不能再使用Rank函数来排名。那么如何解决这个问题,此时就可以使用SUMPRODUCT函数来解决这个问题。
在E2单元格中输入以下公式,向下填充至E16单元格。
=SUMPRODUCT(($A$2:$A$16=A2)*($D$2:$D$16>D2))+1
注意:排名的原理其实就是比大小,找出它大于的个数即可。那么就可以使用SUMPRODUCT函数来解决这个问题。上述公式中的乘号相当于AND函数,是指两个条件同时成立,但是不可能使用AND函数来解决这个问题,因为这里还涉及到了关于逻辑值的软的问题。大家会使用这个套路即可。
上面介绍了如何进行常规的排名与分组排名,但是还有一种十分常见的排名也是很容易遇到的,那就是百分比排名。
如下图所示,对下面的销售业务进行百分比排名。
在E2单元格中输入以下公式,向下填充至E16单元格。
=PERCENTRANK($D$2:$D$16,D2)
注意:这个函数是一个特定的百分比排名,其原理不同于平时使用的先将名次排出来再除以总数的方法,相对于后者,这个函数的计算的方法将更加地严谨。以下是该函数的基本的意义与语法:
PERCENTRANK(array,x,[significance])
PERCENTRANK 函数语法具有下列参数:
Array 必需。定义相对位置的数值数组或数值数据区域。
X 必需。需要得到其排位的值。
significance 可选。用于标识返回的百分比值的有效位数的值。如果省略,则 PERCENTRANK 使用 3 位小数 (0.xxx)。
关于该函数也需要注意以下三个方面:
如果数组为空,则 PERCENTRANK 返回 错误值 #NUM!。
如果 significance < 1,则 PERCENTRANK 返回 错误值 #NUM!。
如果数组里没有与 x 相匹配的值,函数 PERCENTRANK 将进行插值以返回正确的百分比排位。
每一个人的小有成就,源于对自己的不断要求和努力,希望和你一起加油。
作者:我是世杰,财务excel深度玩家,坚持每天分享财务excel干货,微信公众号:24财务excel