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

时间:2022-12-09 10:33:53

我们在实际工作中,常常把RANK函数用于对一列数据的基本排序,即从大到小的排序方法,那你还知道它的其他什么用法吗?

今天就给大家系统的分享下RANK函数的用法,分享的内容主要为以下这6种技巧。

1、升序排列

2、降序排列

3、多列数据排名

4、多条件排名

5、不出现相同排名(以出现顺序进行优先排列)

6、跨多表排名

首先我们先了解下RANK函数的基本定义。

RANK(number,ref,order)

number:要查找排名的数值

ref:参与排名的单元格区域,非数字值将被忽略

order:代表排位方式,0或不填的时候为降序排列,即最大值为第一名;非零时为升序排列,即最小值为第一名

PS:数据相同,则排序相同,即RANK是默认按照同名排序。

知道了RANK函数的基本定义,下面我们来看下它的具体使用技巧。

技巧一、升序排列

比如我们把下面的的数据,按销量由小到大进行升序排列,要如何做呢?

只需要在E2单元格输入如下公式,即可。

=RANK(D2,$D$2:$D$24,1)

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

按RANK函数的参数定义,当order,非0时即为升序排列

技巧二、降序排列

同样是使用如上的数据,按销量对数据从大到小进行排序,最大值即为1。

E2单元格公式:

=RANK(D2,$D$2:$D$24)

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

技巧三、多列数据排名

比如如下样式,我们有多列数据,我们想将多列不同的数据,同样按销量大小进行排名,要如何进行操作呢?

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

操作步骤:

1、选中A1:I8数据区域,按Ctrl+G定位

2、定位条件,选中【空值】,点击确定

3、输入如下公式,然后按Ctrl+Enter填充,即可

=RANK(B2,($B$2:$B$8,$E$2:$E$8,$H$2:$H$8))

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

Ps:特别需要注意的是,我们的参数2Number是3个区域的合并,中间是使用英文逗号","连接。

技巧四、多列条件排名

我们有如下的数据,可以看到部分同学的物理化学的总分是一样的,比如"赵云","李白","妲己"都是179分,如果总分一样,我们再依物理成绩的大小进行排序,这要如何去做呢?

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

操作步骤:

1、首先我们在E列增加一个辅助列,输入如下公式:

=D2*1000+B2

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

公式理解:

当我们把总分进行放大1000倍的时候,总分之间的大小是不变的,再加上物理的成绩,即实现了大小区分

2、在F列输入公式:

=RANK(E2,$E$2:$E$10)

3、最后再隐藏辅助列即实现了多条件排序

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

技巧五、不出现相同排名(以出现顺序进行优先排列)

首先我们要理解此技巧是什么意思呢?

我们在实际排序的时候,偶尔会遇到数据是相同的,我们在进行排名的时候,这些排名往往是相同的,就比如如下案例:

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

"黄忠""程咬金"的销量相同,排名都为第2,那如果我不想让它出现相同的排名,而是以"黄忠"先参与排名,排名为2,"程咬金"后参与排名,排名为3,其他类似,这样的排名要怎么做?

很简单,主要我们在参与排名的时候,增加个计数统计即可

在D2输入公式:

=RANK(B2,$B$2:$B$11)+COUNTIF($B$2:B2,B2)-1

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

可以发现,排名是按出现的顺序依次进行的。

这个函数的关键在于COUNTIF函数的应用,COUNTIF($B$2:B2,B2)-1公式中第一个B2是绝对引用的,当公式向下拖动时,即可以得到相应的数据是第几次出现的,然后再加上原始排名即可。

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

技巧六、跨多表排名

我们有下面的4张工作表,每个工作表都有一部分数据,其中D列均为销量,我们如何根据所有的表进行销量排名呢?

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

我们点击E2单元格,输入如下RANK函数:

=RANK(D2,销售1部:销售4部!$D$2:$D$7)

number选择D2,输入ref内容时,点击"销售1部",按住Shift键,再点击"销售4部",选择D2:D7单元格,按F4把区域绝对引用。

其他各个工作表同样输入此公式即可。

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

Ps:特别需要注意的是,引用的区域必须是所有工作表里行数范围最大的,否则统计数据不是所有的内容

其他内容

最后再给大家分享下RANK函数家族的其他函数,RANK.EQ和RANK.AVG

各个函数支持的Excel版本及参数含义如下:

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

具体的操作可看下面的图:

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

RANK.EQ和RANK的用法一致,RANK.AVG返回数据的平均排位,比如上面的数据"赵云""李白"的排名使用RANK及RANK.EQ函数均为3,而RANK.AVG函数为3.5,及排名为第3、4名的平均值,更多需要需要大家再发掘下。

以上就是给大家分享的关于RANK函数的6个使用技巧,如果你还有其他的使用技巧,欢迎评论区留言,大家一起交流。

参考:https://baijiahao.baidu.com/s?id=1655083909022930257&wfr=spider&for=pc

EXCEL——排序函数RANK,6种花式使用技巧的更多相关文章

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

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

  2. R语言学习笔记:sort、rank、order、arrange排序函数

    R语言中排序有几个基本函数:sort().rank().order().arrange() 一.总结 sort()函数是对向量进行从小到大的排序 rank()函数返回的是对向量中每个数值对应的秩 or ...

  3. SQL Server排序函数row_number和rank的区别

    SQL Server排序函数row_number和rank的区别 直接看测试结果 declare @table table(name varchar(100),amount int, memo var ...

  4. Oracle-分析函数之排序值rank()和dense_rank()

    聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值. 在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_cl ...

  5. Excel常用函数大全

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

  6. Oracle排名函数(Rank)实例详解

    这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下     --已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应 ...

  7. SQL中几个常用的排序函数

         最近使用窗口函数的频率越来越高,这里打算简单介绍一下几个排序的函数,做一个引子希望以后这方面的问题能够更深入的理解,这里先简单介绍一下几个简单的排序函数及其相关子句,这里先从什么是排序开始吧 ...

  8. Sql Server系列:排序函数

    在SQL Server中有4个排序函数:ROW_NUMBER().RANK().DENSE_RANK()及NTILE()函数. 1. ROW_NUMBER()函数 ROW_NUMBER()函数为每条记 ...

  9. [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...

随机推荐

  1. 安装TFS2015后启用生成功能

    安装了TFS2015后,发现高大上呀.可是在传了个DEMO,BUILD生成的时候提示没有 一些文件,提示:找不到具有以下功能的代理: msbuild, visualstudio.在服务端安了VS201 ...

  2. MQTT V3.1--我的理解

    最近因为工作需要,需要对推送消息了解,因此对MQTT进行了整理,这里更多的是对MQTT英文版的翻译和理解. MQTT(Message Queue Telemetry Transport),遥测传输协议 ...

  3. [Perl]抓取个人的所有闪存+格式化保存为文本

    以下代码保存为utf8文本格式 环境:ActivePerl v5.16 built for MSWin32-x86 两个要调整的地方: for my $i (17..45) {  这里改成自己对应的页 ...

  4. python中try except处理程序异常的三种常用方法

    如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do somet ...

  5. 重启osd服务失败:Start request repeated too quickly

    背景 OS:Ubuntu 16.04 修改了osd的一些配置,修改后,需要重启osd服务才能生效.第一次重启后,配置立刻生效.再改了一些配置,重启osd服务后,配置却不再生效了.ps命令查看进程,发现 ...

  6. flask简单登录注册

    效果图 发布问答页面需要登录才能访问,没有登录会跳转到登录页面 模板继承,正则验证,数据库迁移,md5加密 mysql 5.7 登录页面 登录后的发布问答页面,右上角会显示用户名和注销 项目代码:码云

  7. SpringBoot获取全局配置文件的属性以及@ConfigurationProperties实现类型安全的配置

    在SpringBoot,可以定义一个全局配置文件,全局配置文件有两种形式: 1). application.properties 2).application.yml 二者的后缀名不同,编辑的格式也不 ...

  8. elasticsearch(ES)日志迁移

    =============================================== 2018/7/29_第1次修改                       ccb_warlock == ...

  9. JS的prototype和__proto__、constructor

    看了JS的prototype和__proto__这篇文章,才感觉很清晰了,对于原型这块,以前经常把这些属性弄不清楚, 明白了之后保存下整理下: prototype: 是函数的一个属性(每个函数都有一个 ...

  10. Laya 1.x 按文件夹TS代码合并

    Laya 1.x 使用TS开发时,经常会碰到代码文件太多,加载index.html时时间太长的问题.Laya编辑器貌似没有自带JS代码合并的功能.基于Laya去实现JS合并需要修改编辑器源码,合并JS ...