问题场景


  • 需求不同根据总分出排名(从大到小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. 2017-2018 ACM-ICPC Latin American Regional Programming Contest J - Jumping frog 题解(gcd)

    题目链接 题目大意 一只青蛙在长度为N的字符串上跳跃,"R"可以跳上去,"P"不可以跳上去. 字符串是环形的,N-1和0相连. 青蛙的跳跃距离K的取值范围是[1 ...

  2. 浅谈AsyncLocal,我们应该知道的那些事儿

    前言 最近查看有关框架源码,发现AsyncLocal这玩意水还挺深,于是花了一点功夫去研究,同时对比ThreadLocal说明二者区别以及在何时场景下使用AsyncLocal或ThreadLocal. ...

  3. 有了Git这个操作,我再也不怕代码混乱了!

    大家好,今天的文章我们来介绍git当中一个非常常用的功能--储藏. 大家在协同开发的时候应该都有这样的经历,有的时候我们的功能开发了一半,因为某些原因我们想要checkout到其他的分支上查看代码或者 ...

  4. C# Winform TCP发消息

    服务端: 代码: using System; using System.Collections.Generic; using System.IO; using System.Net; using Sy ...

  5. BootstrapBlazor 组件库使用体验---Table篇

    原文地址:https://www.cnblogs.com/ysmc/p/13323242.html Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 Ja ...

  6. Java面试专题-多线程篇(2)- 锁和线程池

  7. Qt模型视图结构遇见的小问题

    在本文的最开始,我们来看两个帮助文档内容: selectionMode : SelectionMode This property holds which selection mode the vie ...

  8. Python调用云服务器AWVS13API接口批量扫描(指哪打哪)

    最近因为实习的原因,为了减少一部分的工作量,在阿里云服务器上搭建了AWVS扫描器 方便摸鱼 但是发现AWVS貌似没有批量添加的方法,作者只好把整理的URL.txt捏了又捏 手动输入是不可能手动输入的, ...

  9. 手机APP测试(测试点、测试流程、功能测试)

    1.功能测试 1.1 启动 APP安装完成后,是否可以正常打开,稳定运行 APP的速度是可以让人接受,切换是否流畅 网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生 ...

  10. 极光实验室 第一次考核wp

    第一道题: 上来就让我买flag,用御剑扫目录,发现了这道题有源码index.php.bak!直接下载. <meta charset='UTF-8'> <title>极光实验室 ...