EXCEL——排序函数RANK,6种花式使用技巧
我们在实际工作中,常常把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)
![](https://pic.rmb.bdstatic.com/b0d2654ad20af64a76eea9fe70b498141843.gif)
按RANK函数的参数定义,当order,非0时即为升序排列。
技巧二、降序排列
同样是使用如上的数据,按销量对数据从大到小进行排序,最大值即为1。
E2单元格公式:
=RANK(D2,$D$2:$D$24)
![](https://img2020.cnblogs.com/blog/1130145/202005/1130145-20200519113500586-1756623382.png)
技巧三、多列数据排名
比如如下样式,我们有多列数据,我们想将多列不同的数据,同样按销量大小进行排名,要如何进行操作呢?
![](https://pics7.baidu.com/feed/1f178a82b9014a908217a37812b33c14b21bee11.jpeg?token=4056f640fea7194300561e16ae3cbb44&s=6D88EC1385645D012265D44B02008070)
操作步骤:
1、选中A1:I8数据区域,按Ctrl+G定位
2、定位条件,选中【空值】,点击确定
3、输入如下公式,然后按Ctrl+Enter填充,即可
=RANK(B2,($B$2:$B$8,$E$2:$E$8,$H$2:$H$8))
![](https://pic.rmb.bdstatic.com/eab978382765d30efd932d029fad3c866319.gif)
Ps:特别需要注意的是,我们的参数2Number是3个区域的合并,中间是使用英文逗号","连接。
技巧四、多列条件排名
我们有如下的数据,可以看到部分同学的物理化学的总分是一样的,比如"赵云","李白","妲己"都是179分,如果总分一样,我们再依物理成绩的大小进行排序,这要如何去做呢?
![](https://img2020.cnblogs.com/blog/1130145/202005/1130145-20200519113715860-2018026192.png)
操作步骤:
1、首先我们在E列增加一个辅助列,输入如下公式:
=D2*1000+B2
![](https://pics2.baidu.com/feed/54fbb2fb43166d223f5826aafbe70cf19052d22f.jpeg?token=5032bb6d124da58dd957f54e30799b0c&s=EC8AEC12554E4EEA2A5CE45B0200F0F1)
公式理解:
当我们把总分进行放大1000倍的时候,总分之间的大小是不变的,再加上物理的成绩,即实现了大小区分
2、在F列输入公式:
=RANK(E2,$E$2:$E$10)
3、最后再隐藏辅助列即实现了多条件排序
![](https://pic.rmb.bdstatic.com/801c9c7e7dcf83567a63b44e9b00e5dd8088.gif)
技巧五、不出现相同排名(以出现顺序进行优先排列)
首先我们要理解此技巧是什么意思呢?
我们在实际排序的时候,偶尔会遇到数据是相同的,我们在进行排名的时候,这些排名往往是相同的,就比如如下案例:
![](https://img2020.cnblogs.com/blog/1130145/202005/1130145-20200519114036962-1693348654.png)
"黄忠""程咬金"的销量相同,排名都为第2,那如果我不想让它出现相同的排名,而是以"黄忠"先参与排名,排名为2,"程咬金"后参与排名,排名为3,其他类似,这样的排名要怎么做?
很简单,主要我们在参与排名的时候,增加个计数统计即可。
在D2输入公式:
=RANK(B2,$B$2:$B$11)+COUNTIF($B$2:B2,B2)-1
![](https://pics7.baidu.com/feed/0df3d7ca7bcb0a46c0c4ee04d7a7f3226a60af77.jpeg?token=a429c560a17995320091b4a8c02fd7b3&s=6986ED1A5F5E4EC8324DE45B02005073)
可以发现,排名是按出现的顺序依次进行的。
这个函数的关键在于COUNTIF函数的应用,COUNTIF($B$2:B2,B2)-1公式中第一个B2是绝对引用的,当公式向下拖动时,即可以得到相应的数据是第几次出现的,然后再加上原始排名即可。
![](https://pics6.baidu.com/feed/00e93901213fb80e9fe5e902e0892828b838948a.jpeg?token=4291faf8be0e8777610178565b5018bf&s=E88CEC1A1F1E47C83845A05B02008073)
技巧六、跨多表排名
我们有下面的4张工作表,每个工作表都有一部分数据,其中D列均为销量,我们如何根据所有的表进行销量排名呢?
![](https://pics6.baidu.com/feed/cc11728b4710b912649b999e7e39f90593452246.jpeg?token=3ebec90b1eeefd8fcffa43c33190009c&s=6D8CEC1A510E7CEC54FC51DE020090B2)
我们点击E2单元格,输入如下RANK函数:
=RANK(D2,销售1部:销售4部!$D$2:$D$7)
number选择D2,输入ref内容时,点击"销售1部",按住Shift键,再点击"销售4部",选择D2:D7单元格,按F4把区域绝对引用。
其他各个工作表同样输入此公式即可。
![](https://pic.rmb.bdstatic.com/daa1bd4af4788b5d41188f7a1ce330af4818.gif)
Ps:特别需要注意的是,引用的区域必须是所有工作表里行数范围最大的,否则统计数据不是所有的内容
其他内容
最后再给大家分享下RANK函数家族的其他函数,RANK.EQ和RANK.AVG
各个函数支持的Excel版本及参数含义如下:
![](https://img2020.cnblogs.com/blog/1130145/202005/1130145-20200519114412161-397363422.png)
具体的操作可看下面的图:
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
相关文章
- 【原创】.NET读写Excel工具Spire.Xls使用(4)对数据操作与控制
- 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍
- NPOI写Excel,Microsoft.Office.Interop.excel.dll 转换Excel为PDF
- EXCEL 建立工作薄与工作表
- 报表中的Excel操作之Aspose.Cells(Excel模板)
- Laravel 教程:使用Fast Excel解决导出超大 XLSX 文件(千万级)带来的内存问题
- Java中excel转换为jpg/png图片 采用aspose-cells-18.6.jar
- 四种方法 恢复损坏的Excel文档
- C# 对Excel文档打印时的页面设置
- 149. SAP UI5 Table 控件数据进行 Excel 导出时如何进行格式控制
- Atitit 格式转换的艺术 以excel转换txt为例
- java 读取excel(Map结构)xls
- GrapeCity Documents for Excel:GcExcel 5.1.0
- Excel-开发者工具(WPS)
- 〖Python自动化办公篇⑬〗- Excel 文件自动化 - 写入 excel 数据(xlsxwriter)
- c# 高效率导出多维表头excel
- R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格
- java通过jsp的Excel导出
- 前端必备技能知识:JS导出Blob流文件为Excel表格、Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
- JAVA操作Excel表格:方法二:POI的使用①:Excel实战之POI创建excel文件(低版本)
- 〖Python自动化办公篇⑬〗- Excel 文件自动化 - 写入 excel 数据(xlsxwriter)