1、电脑打开Excel表格。
2、电脑打开Excel表格后,在排名中输入公式=RANK(J11,$J$11:J$14),$J$11:J$14是所有成绩单元格的绝对值,选中单元格后按F4就会变成绝对值。
3、输入公式后,就会得到名次,下拉复制公式。
4、所有排名就都出来了。
Excel内RANK是用来排名的函数,下面以实例简单介绍一下使用的方法:
所需材料:Excel。
一、以下面这张表格为例,要计算出A1单元格在A1-A6之间的排名,这里首先点击选中B1单元格。
二、然后点击工具栏“公式”,接着点击“插入函数”。
三、函数类型内点击“RANK函数”,点击“确定”。
四、点击一下Numbar栏,然后鼠标点击一下A1单元格(也可以手动键入A1)。
五、然后点击一下“Ref栏”,鼠标拖动选中A1-A6(也可以手动输入),点击“确定”。
六、这时就可以计算出A1的排名,使用熟悉后可以直接在公式栏内输入公式计算。
rank函数,本来就是这样的
例如
A1到A4里面是100,100,90,80。
那么rank(90,A1:A4)结果就是3。
RANK(number,
ref,
order)
注意
Number
必须有一个数字值
;
ref
必须是一个数组或单元格区域包含数字数据值。
;
是可选的
order。如果省略
order,或者将它分配一个值为。
(零)
number
排位是数字的数字的在
ref
中
number
位置,如果
ref
数字的数字的按降序顺序排序。如果。
order
分配任何非零值,假定
ref
为排名按升序排序。
用法的示例
以下用一个成绩表作示例
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
二班
S20090733
100
一班
S20090635
99
三班
S20090919
97
一班
S20090846
96
一班
S20090825
95
二班
S20090715
94
三班
S20090836
91
二班
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
三班
S20090919
97
三班
S20090836
91
二班
S20090733
100
二班
S20090715
94
二班
S20090631
86
一班
S20090635
99
一班
S20090846
96
一班
S20090825
95
再举列一个比较简单的,这样子更容易看明白:
假如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
平均的等级值为限制的观察值】
将数字数据转换为秩时,
可能要用于表示扎以便限制的观察每个接收的平均等级上的最小可能的秩而不是所有此类的观察值。在这篇文章中数值的示例阐释这一点。
你这个很麻烦。首先,第一张表a列是排名的依据--数值。b列作为排名。然后c列是得分。
你需要在另一张表(例如sheet2)中。做一个对名表。a列是排名,b列是排名所对应的得分。这个表可以手工去做。也可以用公式 b7=b6-2,b16=b15-2。
返回第一张表,假设有标题行。在b2中输入公式 =SUMPRODUCT((A$2:A$81>A2)*(1/(COUNTIF(A$2:A$81,A$2:A$81))))+1。
然后向下填充。
这样就得到了排名。
然后在c列,再用vlookup函数,以排名为关键字,从第二张表中返回排名对应的分数。