利用RANK函数计算名次位置(统计函数第八讲)
今日继续讲统计函数,上一讲我们讲了最大值和最小值的问题,今日讲统计函数讲座的第八讲,RANK排位问题。这个问题在我之前的函数讲解中也多次讲解过,今日是要温习一下,同时还有些新的内容加入。这个函数利用是十分广泛的。作为统计函数,也是经常用到的函数。
RANK函数定义:返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值。
使用格式:RANK(number,ref,order)。
格式简义:RANK(要判断的单元格,查找的区域,1为最小数排第一,0为最大数排第一)。
参数定义:
Number 为需要找到排位的数字。
Ref 为数字列表数组或对数字列表的引用。Ref中的非数值型参数将被忽略(引用区域要绝对引用)。
Order为一数字,指明排位的方式。如果order为0(零)或省略,MicrosoftExcel对数字的。
排位是基于ref为按照降序排列的列表。如果order不为零,MicrosoftExcel对数字的排位是基于ref为按照升序排列的列表。上述的表述可以用下面的语句来表达:order——有1和0两种;0——从大到小排名(降序);1——从小到大排名(升序)。其中0为默认,不用输入,得到的就是从大到小的排名。
注意事项:
a) Number 必须有一个数字值;ref 必须是一个数组或单元格区域包含数字数据值;order是可选的,如果省略 order,或者将它分配一个值为 0 (零), number 的排位是数字在 ref 中 按降序排名的位置;如果 order 分配任何非零值,number 的排位是数字在ref 中按升序排序的名次的位置。
b) 函数RANK对重复数的排位相同,但重复数的存在将影响后续数值的排位。
c) rank函数可以对不连续单元格进行排名:不连续的单元格,第二个参数需要用括号和逗号形式连接起来。如输入公式=RANK(B5,(B5,B9,B13,B17),0)。
d) 排序也可以利用Sumproduct函数来实现。
下面我们看实例的讲解:
例1:如下面的截图,对于六种不同的物料的销售额进行了不同的排序:
公式讲解:
1 C2 的公式=RANK(B2,$B$2:$B$7,1) 是说明B2在$B$2:$B$7中按升序排序的位置。
2 D2 的公式=RANK(B2,$B$2:$B$7,0) 是说明B2在$B$2:$B$7中按降序排序的位置。
3 E2 的公式=SUMPRODUCT((B2>$B$2:$B$7)*1)+1是说明B2在$B$2:$B$7中按升序排序的位置。
4 F2的公式=SUMPRODUCT((B2<$B$2:$B$7)*1)+1 是说明B2在$B$2:$B$7中按降序排序的位置。
看下面的返回结果:
例2:下面的例子中讲了多区域排名的实例,把某个人的成绩在两个班级中排序。
公式讲解:F12中的公式:=RANK(B12,($B$12:$B$17,$D$12:$D$17)) 是指B12在$B$12:$B$17,$D$12:$D$17 两个区域中的合计排名名次,注意($B$12:$B$17,$D$12:$D$17)中间要用逗号隔开,看公式的返回值:
今日内容回向:
⦁ RANK 函数的意义是什么?
⦁ 如何实现多区域的排名?
⦁ 如何实现升降序的排名?
⦁ 利用其它函数是否可以实现相同的功能?是否理解?
我从事管理工作多年,这一系列文章是根据多年的经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助。
我的公众号“ VBA与GOLANG语言学习”或“NZ_9668”和“VBA学习交流社群” 里有更多的内容分享。对数据分析有需要的公司、组织或个人可以直接加入联系我,为你提供专业的技术支持。朋友们有问题请随时提出来,我们一起探讨学习。目的就是玩转Excel、VBA,提高工作效率,能有更多的时间和精力享受生活。