
RANK(number,ref,[order])
RANK 函数语法具有下列参数:
Number 必需。 要找到其排位的数字。
Ref 必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。
Order 可选。 一个指定数字排位方式的数字。
如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。
如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。
rank是T_sql
函数,rank()函数返回结果集分区内指定字段的值的排名,指定字段的值的排名是相关行之前的排名加一。具体使用步骤如下:
1、在excel中编辑好需要排序的内容。
2、在C2单元格输入公式“=RANK(B2,$B$2:$B$4,0)”。
3、点击键盘“Enter”。
4、双击图示符号,向下填充公式。
5、公式填充后,排名结果就出来了。
注意事项:
1、 *** 作第二步,在C2单元格输入公式“=RANK(B2,$B$2:$B$4,0)”时,引用单元格时必须是绝对引用“$B$2:$B$4”,否则在向下填充公式时会出现错误。
2、 *** 作第二步,在C2单元格输入公式“=RANK(B2,$B$2:$B$4,0)”时,排位方式输入“0”是降序排列,若需要升序排列输入“1”即可。
扩展资料:
语法:
RANK()
OVER([<partiton_by_clause>]<order
by
clause>)
partition_by_clause
将from子句生成的结果集划分为应用到RANK函数的分区。
Order_by_clause确定将RANK值应用到分区中的行时所使用的顺序。
以下用一个成绩表作示例:
table架构:
s_score(s_class(班级),s_id(学号),s_score(分数))。
SQL
statement1:
Select
rank()
over(order
by
s_score
desc)
as
名次,s_class,s_id,s_score
from
s_score。
-rank
RANK 函数返回一列数字的数字排位。 数字的排位是其相对于列表中其他值的大小。函数格式为 RANK(number,ref,[order]);Number要找到其排位的数字。Ref数字列表的数组,对数字列表的引用。Order一个指定数字排位方式的数字,order 为0按照降序排列,order 不为零按照升序排列的列表。
软件工具:excel 2013
1、假设要对A1-A6的数据进行排位。
2、在B1中输入=RANK(A1,$A$1:$A$6,1) 说明:A1表示要排位的数字;$A$1:$A$6表示对数字列表的引用;1表示升序排列。
3、然后在B列向下充公式,自动得出A列数组的排位 。
rank函数是排名函数。rank函数最常用的是求某一个数值在某一区域内的排名。
rank函数语法形式:rank(number,ref,[order])
函数名后面的参数中 number 为需要求排名的那个数值或者单元格名称(单元格内必须为数字),ref 为排名的参照数值区域,order的为0和1,默认不用输入,得到的就是从大到小的排名,若是想求倒数第几,order的值请使用1。
举列一个比较简单的,这样子更容易看明白:
假如A列从A1单元格起,依次有数据80、98、65、79、65。
在B1中编辑公式
=RANK(A1,$A$1:$A$5,0)
回车确认后,向下复制公式到B5单元格。
效果:
从B1单元格起依次返回值为2、1、4、3、4。
注意:
公式中的参数0(零)或省略,Excel 对数字的排位是把数据从大到小的降序排列,也就是说数值最大的排名第1。
再试试看:
在C1中编辑公式
=RANK(A1,$A$1:$A$5,1)
回车确认后,向下复制公式到B5单元格。
此时从C1单元格起依次返回的值是4、5、1、3、1。
也就是说,此时A列中数据是按从小到大排列名次的,最小的数值排位第1,最大的数值排位最末
rank函数排名可以在Excel使用。rank函数主要用于排序,可以返回一列数字的数字排位,其数字的排位是相对于列表中其他值的大小;语法格式为“RANK(number,ref,[order])”。简单做个演示,那么这里就是=RANK(E15,E15:E22)。最后因为要批量处理 *** 作,那么可以区域引用可以加入绝对引用,那么就有=RANK(E15,$E$15:$E$22),最后下拉完成。
rank函数的范例
正排名此例中我们在B2单元格求20这个数值在 A1:A5 区域内的排名情况,我们并没有输入order参数,不输入order参数的情况下,默认order值为0,也就是从高到低排序。此例中20在 A1:A5 区域内的正排序是1,所以显示的结果是1。
倒排名此例中我们在上面示例的情况下,将order值输入为1,发现结果大变,因为order值为1,意思是求倒数的排名,20在A1:A5 区域内的倒数排名就是4。
在 Excel 中,Rank函数用于实现一个数字在指定数字列表中的排位,并且可以通过拖动的办法实现对整个数字列表的自动排序。Rank函数共有三个参数,前两个为必选项,后一个为可选项;如果省略可选项,将默认按降序排序。Rank函数怎么用呢?文章先介绍Rank函数的语法,再用四个由浅入深的具体实例分享Rank函数的使用方法;四个实例分别为无重复数字的自动排序、重复数字并排的自动排序、重复数字顺排的自动排序和Rank函数与OffSet函数组合实现分段排序,实例 *** 作所用版本均为 Excel 2016。
一、Rank函数语法
1、表达式:RANK(Number, Ref, [Order])
中文表达式:RANK(要排序的数字, 数字列表, [排序方式])
2、说明:
A、Ref 为数字列表数组或对数字列表的引用,如果有非数字将被忽略。
B、Order 为可选项,用于指定数字的排序方式;如果省略,则默认值为 0,则按降序排序;如果为非 0,则按升序排序。
二、Rank函数怎么用
(一)无重复数字的自动排序
1、假如要对销量按降序排序。选中 G2 单元格,输入公式 =RANK(F2,$F$2:$F$12),按回车,返回 F2 在 F2:F12 中的排位;再次选中 G2,把鼠标移到 G2 右下角的单元格填充柄上,鼠标变为黑色加号后,按住左键,往下拖一直拖到 F12,则所经过单元格都对应 F2:F12 中的数值排好序; *** 作过程步骤,如图1所示:
2、公式说明:
A、公式 =RANK(F2,$F$2:$F$12) 中,F2 是要排序的数字,是对 F2 的相对引用,往下拖时,会变为 F3、F4、……;$F$2:$F$12 是对 F2 至 F12 的绝对引用,往下拖时,F2 和 F12 都不会自动加 1,即无论拖到哪个单元格都始终返回从 F2 到 F12 的数字列表。
B、公式省略了排序方式 Order,默认按降序排序,F2:F12 中的最大值 982 排序在第一位;如果要按升序排序,可以把 Order 设置为非 0,如设置为 1,则公式变为 =RANK(F2,$F$2:$F$12,1)。
(二)重复数字并排的自动排序
1、假如要对价格按升序排序。把公式 =RANK(E2,$E$2:$E$12,1) 复制到 G2 单元格,如图2所示:
2、按回车,返回 E2 在 E2 至 E12 中的排位,同样用往下拖的方法把其余价格排序,排好后,如图3所示:
3、排在第一的是 65,它是 E2 至 E12 中最小的值,说明排序方式为升序;E2 至 E12 中共有两组重复数字,一组是 89,另一组是 99,两个 89 都排在第 4 位,两个 99 都排在第 6 位,而第 5 位和第 7 位却留空。
(三)重复数字顺排的自动排序
1、同样对价格按升序排序。把公式 =RANK(E2,$E$2:$E$12,1)+COUNTIF(E$2:E2,E2)-1 复制到 G2 单元格,按回车,则返回 E2 在 E2 至 E12 中的排位;用往下拖的方法把其余价格排好序, *** 作过程步骤,如图4所示:
2、价格中的第一组重复数字 89 分别排到了第 4 位和第 5 位;第二组重数字 99 分别排到了 第 6 位和第 7 位。
3、公式说明:
公式 =RANK(E2,$E$2:$E$12,1)+COUNTIF(E$2:E2,E2)-1 用 CountIf函数统计当前数字在当前单元格之前有几个重复值;例如 COUNTIF(E$2:E2,E2) 统计 E2 在 E2 之前(即 E2)有几个重复数字,统计结果为 1,1 - 1 = 0,即 COUNTIF(E$2:E2,E2)-1 = 0;当拖到 E3 时,COUNTIF(E$2:E2,E2)-1 变为 COUNTIF(E$2:E3,E3)-1,统计 E3 在 E2 至 E3 有几个重复数字,统计结果为 1,COUNTIF(E$2:E3,E3)-1 = 0,则 =RANK(E3,$E$2:$E$12,1)+0=4;当拖到 E4 时,COUNTIF(E$2:E2,E2)-1 变为 COUNTIF(E$2:E4,E4)-1,统计 E4 在 E2 至 E4 有几个重复数字,统计结果为 2,COUNTIF(E$2:E4,E4)-1 = 1,则 =RANK(E4,$E$2:$E$12,1)+1=5。
(四)Rank函数与OffSet函数组合实现分段排序
1、假如要把销量按每段四个数分段排序。把公式 =RANK(F2,OFFSET($F$2:$F$5,INT((ROW()-2)/4)4,),1) 复制到 G2 单元格,按回车,则返回 F2 在 F2 至 F5 中的排位;用往下拖的方法排好其余数字与其它分段的序; *** 作过程步骤,如图5所示:
2、公式说明:
A、公式 =RANK(F2,OFFSET($F$2:$F$5,INT((ROW()-2)/4)4,),1) 用 OFFSET($F$2:$F$5,INT((ROW()-2)/4)4,) 来实现分段,它是如何实现分段的?我们选择第二个分段的第一个单元格,即 G6 单元格,双击它,它的公式为 =RANK(F6,OFFSET($F$2:$F$5,INT((ROW()-2)/4)4,),1),如图6所示:
B、其它的都没有变,只有 F2 变为 F6;Row() 用于返回当前行的行号,F6 的行号为 6,即 ROW()-2 = 4,INT(4/4) = 1,14 = 4,即 OffSet 变为 OFFSET($F$2:$F$5,4),也就是要往下移 4 行,由于 OffSet函数返回对单元格的引用,所以 OffSet 返回 $F$6:$F$9。
C、Rank 变为 =RANK(F6,$F$6:$F$9,1),也就实现了对第二段 F6 至 F9 数字列表的排序。
提示:由于是从 F2 开始,所以用 ROW()-2,如果从 F1 开始,则用 ROW()-1,其它的以此类推。另外,每个分段有几个数,用 (ROW()-2) 除几,如公式中的 (ROW()-2)/4;用 Int 取整后再乘几也是一样。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)