说说Excel中的函数排名
发布时间:2023-02-20 01:21:34
1.什么是排名?
排名不等同于排序(虽然通过排序可以得出排名),排名指的是按照一定的方式确定一组数据的名次,比如将成绩进行排名,得出的结果是第1名、第二名……
排名和排序的概念,很多人分不清楚,容易导致不在一个频道上,所以希望大家首先搞明白两者的区别。
2.如何进行排名?
普通排名
1.1 通过排序进行排名
这个很好理解,想要获得一组数据的排名,可以首先将数据进行排序,然后标上序号即可。

这种排名属于比较低级的方法,有两个问题它无法跨越:
①如果数据有重复,无法识别重复
②如果数据有更新,无法动态排名
因此有一个高级的玩法——使用Rank函数进行排名。
1.2 通过Rank函数排名
rank函数是排名函数,最常用的是求某一个数值在某一区域内的排名。
rank函数语法形式:rank(number,ref,[order])
number :需要求排名的那个数值;
ref :排名的参照数值区域;
order:为0或1,0的情况默认不用输入,得到的就是从大到小的排名,对应的输入1是逆序排名。
同样是上面的案例,我们来使用Rank函数来进行排名。

让我们定格最终的排名效果,发现有两个第五名,但是没有第六名。

这是因为排名的数据中,有两个数据重复了,在Rank的世界里,重复的排名也会占用一个名次,因此没有第六名了,直接就调到了第七名,这就是普通是排名。
中国式排名
如下图的样子这就是中国式排名:并列第五,然后会出现第六名。

这种情况,使用用rank函数就无法实现,需要用到COUNTIF和SUMPRODUCT函数嵌套。
在C2单元格输入函数,=SUMPRODUCT((B2<=B$2:B$9)/COUNTIF(B$2:B$9,B$2:B$9)),然后用力将行数向下复制。
一大坨函数,肯定看不懂是什么鬼东西吧!
函数作用分析:
=SUMPRODUCT((B2<=B$2:B$9)/COUNTIF(B$2:B$9,B$2:B$9))
这个公式是两个常用函数的嵌套。
1. 函数关键部分是 COUNTIF(B$2:B$9,B$2:B$9)
COUNTIF函数的语法规则如下:
countif(range,criteria)
参数:range 要计算其中非空单元格数目的区域
参数:criteria 以数字、表达式或文本形式定义的条件
说白了就是条件计数,在区域rang中求满足Criteria条件的单元格的个数。
大家常用的情况,比较简单,一般是这样的:
上述例子,在D2单元格写入公式=COUNTIF(B2:B9,B2)
意思就是说,求在B2:B9这个区域中,等于B2单元格数值的单元格个数是几?
显然,在这个区域中,等于88的单元格只有B2自身,因此结果为1.
而如果Criteria参数是一个数组区域,那么将返回一个数组结果。
即:COUNTIF(B$2:B$9,B$2:B$9)的含义,(下面是重点)
就是分别以第2参数B$2:B$9区域中的8个单元格为条件,每次查找第1参数B$2:B$9区域中=B$2 或B$3 或B$4…… 或B$9的元素数……
返回一个数组结果是:{1,1,1,1,2,1,1,2}
即,区域中每个元素的重复次数
↑请把这句话读三遍↑
2,解读1/COUNTIF(B$2:B$9,B$2:B$9)
将函数求得的数组结果,作为分母,被1除,会出现什么结果呢?
例如:COUNTIF(B$2:B$9,B$2:B$9)= {1,1,1,1,2,1,1,2}时,
1/COUNTIF(C$3:C$9,C$3:C$9) 计算就是 = {1,1,1,1,0.5,1,1,0.5}
这一步是小学数学水平,应该不难。
3,SUMPRODUCT函数
这个函数被誉为计算全能王,有限的篇幅里,我只能讲最核心的知识。
直接上结论,大家记住结论即可,以后有机会详细讲解。
SUMPRODUCT函数的万能公式为:
=SUMPRODUCT((条件1)*(条件2)*……*求和区域)
可以实现单一条件求和、多条件求和。
因此,在这个案例中,SUMPRODUCT函数括号内的这一坨,最终实现的功能就是按照某一个条件求和。
①先来说求和
将1/COUNTIF(C$3:C$9,C$3:C$9) 得出的结果 {1,1,1,1,0.5,1,1,0.5}进行求和,你就会惊奇地发现:
总和=【区域中不重复元素的个数!】
其实原理很简单:比如案例中89重复了两次,那么得出的数组中,两个89分别对应的位置都是0.5,两个0.5相加等于1,相当于只被计算了一次。
以此推广,如果某个数据重复了N次,那么它对应的COUNTIF()结果=n,而其1/COUNTIF()结果=1/n,因为一共有n个元素(因为重复了N次),因此它们的个数总和=n*(1/n)=1
…………
所以,=SUMPRODUCT((1/COUNTIF(B$2:B$9,B$2:B$9))啰嗦了这么久,其实就是计算B$2:B$9区域中不重复元素的个数。
这一步相当于中学数学知识,对大家来说也应该没有问题。
②附加条件的求和
因为要进行从大到小的顺序排名,因此我们需要统计大于等于这个数的个数。
想一想,为什么?
(比如,对于排名第一的数,大于等于它的只有它自己,排名第二的数,大于等于它的只有第一和它自己……所以,想要求一个数在一组数中的排名,计算出这组数中大于等于这个数的个数即可)
所以要加上一个附加条件:(B2<=B$2:B$9),而根据SUMPRODUCT函数的万能公式,这个条件需要与求和区域进行相乘。
因此,最后的合成公式就是:
=SUMPRODUCT((B2<=B$2:B$9)/COUNTIF(B$2:B$9,B$2:B$9))
最终公式的含义是:以 符合(B2<=B$2:B$9)为条件,统计区域中不重复元素的个数最后就得到了【中国式排名】的结果。


猜你喜欢
- PDF文件怎么添加横批?pdf文件页面中想要添加横批,其实也就是页眉页脚的管理,下面我们就来看看详细的教程,很简单,需要的朋友可以参考下对P
- Corel PAInter Mac不知道大家有没有听说过,最新版本已经更新到了Corel PAInter 2019。这款软件是专门面向插画家
- 在准备更新win101909版本之前,我们想知道这个版本的优缺点。所以据小编所知,虽然win10新版本1909更新改进了很多新功能,但新版本
- iTerm2具有强大的查找页面功能。用户界面不受影响。所有比赛立即突出显示。甚至提供正规表达支持!您可以使用鼠标定位光标,突出显示文本,并使
- Windows XP启动脚本(startup scripts)是计算机在登录屏幕出现之前运行的批处理文件,它的功能类似于Windows 9×
- excel一次能撤销几步?office软件中的撤销功能非常好用,但是有些时候,需要撤销的步骤多了,如果连续的点撤销有些麻烦,是否可以一次性撤
- Win10切换输入法提示“sgtool.exe 应用程序错误”如何解决?最近一位用户在使用Win10系统的过程中,一切换输入法,系统就跳出提
- excel数据处理方法图一图二图二明显要比图一的效果更直观吧?其实实现这样的效果并不难。选中C2:C10单元格区域,按Ctrl+1,弹出【设
- 用文本框加上坐标参数,同样按住ctrl+shift+鼠标左键拖拽,保持在同一水平或垂直线上。接下来绘制对用的曲线,可以利用曲线功能进行绘制,
- 北京时间10月23日消息,苹果今天向开发者用户推送了iOS12.1 beta5开发者预览版。同时iOS12.0的验证通道也被关闭了,iOS1
- Windows 8功能强大的应用可以使使用者专心于当前的工作之中,同时带来的问题就是,新消息的推送是否会影 响到专心的工作,全部屏蔽掉消息是
- win10作为一款主流系统,在各项功能优化做得非常完美,市面上绝大部分软件都支持Win10系统,我们可以任意使用主流的应用软件和游戏。但是有
- Windows系统怎么添加Ubuntu启动项?如果你的Ubuntu是在Windows 7或Windows XP之后安装的,并且你的Boot
- 为了美化插入到wps文字中的图片,我们可以对其线条颜色进行修改设置,对于刚从其它版本转型过来的应该就不会太懂吧,没关系下面就让小编告诉你 如
- 1.点击需要绘制斜线的单元格,接着右键点击进入“设置单元格格式”。 2.在单元格格式里选择“边框选项”,然后我们就
- 2020 iPad Pro 是一款面面俱到的产品,但由于相比前代提升不够明显,没有让人眼前一亮的改变,因此不少消费者都把目光放在了今年的 i
- U盘一直以来凭借着其方便携带、存储容量大、价格便宜的特性广受大家的喜爱,而在使用U盘的过程中也会遇到各种各样的问题,其中就有U盘读取速度变慢
- 大家在打印Excel文档时有没有出现怎么调都打不出来自己想要的效果,下边介绍几种Excel的打印技巧。1、直接打印选择打印当前工作表、整个工
- 通常在Mac电脑锁屏后会进入待机状态,然而有时候我们需要Mac电脑只锁屏而不进入待机状态,如何做到呢?我们可以用Mac电脑内置的自动操作程序
- Win7系统重装之后,需要安装一些程序应用,但是其他一些应用程序依旧在正常运行,不需要重新下载安全。但是每次打开程序应用都要进入到磁盘中打开