问题场景


  • 需求不同根据总分出排名(从大到小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. Java继承的两道实验题目

    设计一个表示二维平面上点的类Point,包含有表示坐标位置的Protect类型的成员变量 获取和设置x和y值的public方法 package classwork_6; public class Po ...

  2. MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事物

    目录 一.前言 二.undo log表空间 三.关于undo log默认的配置 四.如何将undo log放到单独的表空间 文章公众号首发,持续更新中 五.rollback segment 六.什么是 ...

  3. TkMybatis 是什么?

    一.TkMybatis Tkmybatis 是基于 Mybatis 框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,不需要写任何 sql 语句,这极大地提高了项目开发效率. 二.怎么用? ...

  4. 07_ListView

    ListView是用来显示一个列表的控件,它在Android源代码中是继承AbsListView类的,AbsListView类是继承于AdapterView类的,而AdapterView类是继承Vie ...

  5. CentOS中安装Docker步骤

    1.安装仓库所需要的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置yum加速源 yum-config-mana ...

  6. Elasticsearch基本CURD操作语法讲解

    当我们的ES集群搭建完成以后,我怎么能看到集群中各个节点状态以及主节点和健康情况呢,如下讲解使用curl命令来与ES集群进行交互.分别有查询主节点情况.集群状态.以及创建索引查看索引.查看分片以及对E ...

  7. 浅尝 Elastic Stack (二) Logstash

    一.安装与启动 Logstash 依赖 Java 8 或者 Java 11,需要先安装 JDK 1.1 下载 curl -L -O https://artifacts.elastic.co/downl ...

  8. 第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解

    上节介绍了__new__()方法这个比构造方法还重要的方法的语法,本节通过案例来详细剖析__new__()方法的细节以及它与构造方法之间的关系. 一.    案例说明 本节以圆Cir类为例来说明,为了 ...

  9. PyQt学习随笔:ListView控件获取当前选择项的方法

    通过currentIndex()可以获取listView控件的当前选择元素,如果选择了多个,则可以通过selectedIndexes()来获取选择的元素,不过这两个函数返回的是元素数据,而不是索引编号 ...

  10. Leetcode学习笔记(5)

    之前断了一段时间没做Leetcode,深感愧疚,重新续上 题目1 ID104 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点 ...