Excel如何用rank函数分段排名

Excel如何用rank函数分段排名,第1张

假设平均分是在D列,在F列使用函数

例如,在单元格D1输入公式

=RANK(D1,D:D)

然后公式往下拉,即可。

公式解释:

D1表示单元格D1

D:D表示单元格区域整个D列

RANK表示查出某个数字,在数据区域(整个D列)中的排名。

首先我们将我们需要计算名次的表格打开。

我们选择单元格,然后在单元格内输入rank函数。

输入rank函数之后,我们在函数里在输入参数如图所示。

输入好参数之后,按下回车键就得到了结果。

我们将鼠标移动到该表格的右下角进行拖动,可以看到所有的名次就出来了。

rank是T_sql 函数,rank()函数返回结果集分区内指定字段的值的排名,指定字段的值的排名是相关行之前的排名加一。

外文名

rank

英式音标

[ræŋk]

属性

函数

释义

阶层,等级

快速

导航

结果集词典解释网络释义MATLAB函数rank函数

语法

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

结果集

如下

名次 s_class s_id s_score

-------------------- ---------- ---------- -----------

1 二班 S20090733 100

2 一班 S20090635 99

3 三班 S20090919 97

4 一班 S20090846 96

5 一班 S20090825 95

6 二班 S20090715 94

7 三班 S20090836 91

8 二班 S20090631 86

SQL statement2:

Select rank() over(partition by s_class order by s_score desc) as 名次,s_class,s_id,s_score from s_score

结果集如下

名次 s_class s_id s_score

-------------------- ---------- ---------- -----------

1 三班 S20090919 97

2 三班 S20090836 91

1 二班 S20090733 100

2 二班 S20090715 94

3 二班 S20090631 86

1 一班 S20090635 99

2 一班 S20090846 96

3 一班 S20090825 95

词典解释

rank1

名词 n

1等级;地位,身份[C][U]

They catered for everyone regardless of social rank

他们为所有人服务而不计较其社会地位。

2社会阶层;军阶,军衔[C][U]

He was promoted to the rank of captain

他被提升到上尉军阶。

3高地位,高身份,显贵[U]

4排,横列;军行列[C]

5队伍;军队;士兵[the P]

He joined the ranks of the unemployed, too

他也加入了失业的行列。

6秩序,队形[U]

及物动词 vt

1排列,把排成行[H]

The company commander ranked his soldiers in a column four deep

连长将士兵们排成四列纵队。

2把分等;把评级[O]

She ranked her students according to their grades

她按成绩排列学生的名次。

3等级高于

A major ranks a captain

少校军阶高于上尉。

4俚揭露;欺瞒;责难[(+out)]

They'll rank you for the accident

他们要你对这次事故负责。

不及物动词 vi

1列为[Q]

They ranked high in their class

他们是班上的优等生。

2列队;列队行进[(+past/off)]

3处于最高地位

The major general ranks at this camp

少将是这个营地的最高级军官。

4俚抱怨

rank2

形容词 a

1繁茂的;丛生的;过于茂盛的

2多杂草的;易生杂草的[(+with)]

The garden is rank with weeds

花园长满了杂草。

3过于多产的;过于肥沃的[(+with)]

4臭气难闻的;(味道等)令人讨厌的[(+with)]

The rank smell of vomit reached me

我闻到了呕吐物的臭气。

5粗鄙的,下流的

Never use rank language

千万别说粗话。

6贬十足的[B]

This is rank nonsense

这是十足的胡说八道。

EXCEL中有一个很神奇的函数“RANK”,他能够将数字的排名单独显示在另一列,而且可以去除重名次。所显示的结果是有多少人就显示多少名。下面小编就来与大家分享一下,希望对大家有点帮助。

工具/原料

EXCEL

方法/步骤

1/4 分步阅读

平常生活中,我们想将一列数字排序,大家最易想到的是用排序按钮,然后下一列用自动填充功能填充,但是当遇到两个数据相同的时候,这样填充出来的数据就不能很好的显示排名情况。如下图所示,两个105相同的分数,但是自动填充显示的名次却不一样。我们还得对这些相同分数的排名进行手动修改。

2/4

如何让EXCEL帮助我们,不用排序快捷键,而且能去除重名次呢。首先我们不用将数据排序,回到最初数据形式。如下图所示:

报表系统,快表软件,比excel服务器还要简单

广告

3/4

下面我们需要运用RANK函数。在B2单元格中输入以下内容:=RANK(A2,$A$2:$A$24)。其中A2是需要确定位次的数据,$A$2:$A$24表示数据范围,括号里的内容即表示A2单元格数据在A2:A24这个数据区域的排名情况,公式计算结果将被显示在B2单元格里。下图1为公式,下图2为计算结果的显示。

查看剩余1张图

4/4

然后选中B2单元格,将鼠标放在右下角,鼠标变成小十字的时候,按下鼠标左键不放,往下拉到B24单元格,这样所有分数的排名就显示出来了。如下图所示:

简历表格/简历表格下载/个人简历表格/word简历-51Job

注意事项

注意:在输入数据范围的时候,一定要用 $符号,否则排出来的名次会是错误的。

建立成绩表,然后利用函数RANK进行设置就可以给成绩排名次。

具体 *** 作步骤:

1、打开EXCEL,建立成绩表格,将要排名的数据输入进去。

2、在表格的数据的后面加入一列,将列标题命名为“排名”。

3、在“排名”这列表里设置RANK函数,例如“=RANK(C2,C:C,0)”这样的格式。

4、RANK函数有三个参数,第一个参数是需要排序的数字,我们输入C2,是指定C2单元格里的数字进行排名;第二个参数指对数字的申引,第三个参数因是表明是从低到高还是高到低排列。

5、然后再设置好公式的单元格右下角找到鼠标,形成的黑色十字,双击就可以将数据填充好。

在 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 取整后再乘几也是一样。

RANK(number,ref,[order])

RANK 函数语法具有下列参数:

Number 必需。 要找到其排位的数字。

Ref 必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。

Order 可选。 一个指定数字排位方式的数字。

如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。

如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。

请采纳,谢谢。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13496240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存