问题场景


  • 需求不同根据总分出排名(从大到小100分、100分、99分、98分、97分),排名需求:

    • 第一种排名:第1名,第2名,第3名,第4名,第5名;

    • 第二种排名:第1名,第1名,第3名,第4名,第5名;

    • 第三种排名:第1名,第1名,第2名,第3名,第4名(中国式排名,下期内容);

场景一


  • 第一种排名:排名不重复,有N名同学,从1依次排到N。

    • 给每行数据添加【序号或编号】要连续不能间断,经常用到。

目标


  • 按要求给出每位同学的排名,且名次不重复。N名同学,排名1至N。

解决方案


用WPS自带排序功能实现

  • 第一步在【开始】选项卡下选中J列总分列(移到【J】单击),下图为选中效果,再点击【排序】下的【降序】排列。

  • 第二步:出现弹框,选中扩展选定区域总分单元格所在行的数据会根据总分的排序一起排序,而不是只排序当前选中区域),点击【排序】。

  • 第三步:在排名F2单元格内输入1,选中F2单元格,鼠标移到F2单元格的右下角,出现实心的黑色【+】号,双击填充。

  • 如果填充都是1(这是因为默认复制单元格填充,可在设置为填充序列,可BaiDu,不在此处介绍),则可以在F2填1,F3填2,同时拉选F2和F3单元格,鼠标移到F3单元格的右下角,出现实心的黑色【+】号,双击填充。

  • 第四步:最后结果。

场景二


  • 第二种排名:有相同数值排名,名次并列,会占用名次,之后排名不会顺延,如有2个并列第2,则下一个名次就是第4,并无第3名

目标


  • 按要求给出每位同学的排名,有并列排名,占用名次,N名同学,排名1到N,如果有相同数值,则名次不连续。

解决方案


用RANK函数实现

  • 函数解释:
=Rank(number,ref,[order])
# number:需要找到排位的数字。
# ref:数字列表数组或对数字列表的引用。Ref 中的非数值型值将被忽略。
# Order :指明数字排位的方式,0是对ref降序排列,1是对ref升序排列。
  • 第一步:在F2单元格英文状态下输入:=RANK(J2,$J$2:$J$16,0)。

  • 第二步:鼠标选中F2单元格,并移到F2单元格右下角,出现实心的黑色【+】,双击填充此公式。

  • 第三步:F列排名结果,因为有两个并列第7名,则之后是第9名。

注意


  • 公式中用到了相对引用和绝对引用,关于引用请参考前几节内容;

  • 如果想将新出的排名从1到N按照升序排列,则可参考方法场景一的方案对F列【排名列】升序排列或者J列【总分列】降序排序,即可实现,结果如下图:

总结


  • 实际业务场景复杂、需求多变时,如果不能一次性解决问题,可择优或结合使用,多尝试,办法总比困难多。

Excel-RANK函数排名与拓展的更多相关文章

  1. EXCEL——排序函数RANK,6种花式使用技巧

    我们在实际工作中,常常把RANK函数用于对一列数据的基本排序,即从大到小的排序方法,那你还知道它的其他什么用法吗? 今天就给大家系统的分享下RANK函数的用法,分享的内容主要为以下这6种技巧. 1.升 ...

  2. 在MySQL中实现Rank高级排名函数【转】

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  3. 在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  4. 计总与排名SUM和RANK函数

    准备一些数据: CREATE TABLE [dbo].[SalesPerformance]( ,) NOT NULL, ) NOT NULL, [OrderDate] [DATE] NULL, ,) ...

  5. Excel常用函数大全

    1.ABS函数  函数名称:ABS  主要功能:求出相应数字的绝对值.  使用格式:ABS(number)  参数说明:number代表需要求绝对值的数值或引用的单元格.  应用举例:如果在B2单元格 ...

  6. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  7. MySQL之实现Oracle中的rank()函数的功能

      假设表格为student, 数据如下:   我们要在MySQL中实现Oracle中的rank()函数功能,即组内排序,具体来说: 就是对student表中按照课程(course)对学生(name) ...

  8. oracle 分组中排序(rank函数)

    需求: 查询每个供应商在每个类型产品销售的top50中有多少 分析: 1.查询,以指定字段(供应商.产品类型)分组,取每个分组的前50行,查看每个供应商的数量 2.使用rank函数给每个供应商.每个类 ...

  9. 浅谈Excel开发:五 Excel RTD函数

        上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...

随机推荐

  1. C++stl简单使用

    1 //1.sort函数排序 2 /* 3 #include <iostream> 4 #include <algorithm> 5 using namespace std; ...

  2. 网络篇:朋友面试之TCP/IP,回去等通知吧

    前言 最近和一同学聊天,他想换工作,然后去面了一家大厂.当时,他在简历上写着精通TCP/IP,本着对TCP协议稍有了解,面试官也不会深问的想法,就写了精通二字.没想到,大意了 关注公众号,一起交流,微 ...

  3. kafka入门之broker--通信协议

    kafka的通讯协议是基于tcp之上的二进制协议,所有类型的请求和响应都是结构化的,由不同的初始类型构成.kafka使用这组协议完成各个功能的实现. 单个kafka client通常需要同时连接多个b ...

  4. Bootstrap Blazor 组件介绍 Table (二)自定义模板列功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  5. python应用(7):输入与输出

    如前文,流程是程序的主角,而流程一般都需要处理数据,那数据如何进到流程,而最终处理后的数据又如何表现,这就是流程的输入与输出的问题. 本文介绍流程处理的数据的输入与输出. 流程中的输入,一般都会先保存 ...

  6. 推荐系统实践 0x0b 矩阵分解

    前言 推荐系统实践那本书基本上就更新到上一篇了,之后的内容会把各个算法拿来当专题进行讲解.在这一篇,我们将会介绍矩阵分解这一方法.一般来说,协同过滤算法(基于用户.基于物品)会有一个比较严重的问题,那 ...

  7. 莫比乌斯反演进阶-洛谷P2257/HDU5663

    学了莫比乌斯反演之后对初阶问题没有任何问题了,除法分块也码到飞起,但是稍微变形我就跪了.用瞪眼观察法观察别人题解观察到主要内容除了柿子变形之外,主要就是对于miu函数的操作求前缀和.进而了解miu函数 ...

  8. activiti笔记

    activiti笔记 核心api api介绍 1.ProcessEngine 说明: 1) 在Activiti中最核心的类,其他的类都是由他而来. 2) 产生方式: ProcessEngine pro ...

  9. Python_爬虫养殖专业户_00

    为什么学习爬虫? 当你在夜深人静,睡不着觉,想看一些更加睡不着觉的图片/视频时... 这是一句疑似玩笑话, 现实情况是, 每一天, 整个社会都积累了大量的数据, 在数据化的社会中,没有大批量的收集和探 ...

  10. PyQt学习随笔:PyQt中捕获键盘事件后获取具体按键值的方法

    在PyQt中,如果要捕获键盘事件的具体按键,可以通过重写组件对象的keyPressEvent方法或event方法来捕获具体的按键,推荐使用keyPressEvent方法,因为event方法是一个通用事 ...