1. excel把成绩按高到低排序
我用中国式排名为例来说明吧,我们先来了解一下什么叫中国式排名?我就举个最简单的例子。
比如,你们班级一共 50 个人,期末考试有 49 个人考了 100 分,你考了 90 分,那么按国际惯用的排名法则:49 个人并列第一,你第 50 名。如果按中国式排名:49 个人并列第一,你第 2 名。是不是瞬间和谐了许多?
既然中国式排名是中国特色,那么,Excel 现有的 rank 函数显然是按老美的规则来排名的,如果要统计中国式排名,就得用到些技巧。
本文教大家 4 种方法,由浅入深、一网打尽,总有一款适合你。
案例:
下表的高考总分,分别有两个分数出现重复,请用中国式排名给这些学生排名次。
解决方案:
用 if 排名
用 vlookup 排名
用 sumproduct(sum 家族的函数都可以,比如 sum+if,或者 sumif,本文以神级函数 sumproduct 举例)+ countif 排名
用数据透视表排名
方案1:用 if 排名
1. 开始中国式排名前,我们首先来看一下普通排名,可以用 rank 函数,也可以用如下 sumproduct 公式:
=SUMPRODUCT((C2<$C$2:$C$15)*1)+1
公式释义:
sumproduct 作为神级函数,我在各种案例中多次、反复讲解过,比较完整的可参见 Excel函数(四) – sumproduct函数计数、排名、求和等等
本公式中,C2<$C$2:$C$15:
用 C2,即当前行的总分与一整列的分数依次比较,判断 C2 是否比别人小
根据判断结果会得到一个由 true 和 false 组成的数组,true 相当于 1,false 相当于 0
用 F9 看一下计算结果(如下图),就非常直观容易理解
SUMPRODUCT((C2<$C$2:$C$15)*1):sumproduct 是积求和函数,因此会用数组中的 1 和 0 依次与 1 相乘,最后求和,也就是说,有几个总分比自己高的,就得出几
+1:如果有 5 个比自己高,那么自己排名第 6,所以要 +1
2. 现在开始中国式排名步骤,先按 C 列的高考分数由高到低排序
3. 在 E2 列输入“1”,在 E3 列输入以下公式,下拉即可:
=IF(C3=C2,E2,E2+1)
公式释义:
如果上下两行分数相等,则排名相同
如果分数不等,那么不管上一行的分数有没有重复值,排名 +1
方案2:用 vlookup 排名
1. 按 C 列的高考分数由高到低排序
2. 将 C 列复制粘贴到旁边的辅助列,比如 J --> 选中 J 列 --> 选择菜单栏的 Data --> Remove Duplicates --> 在弹出的对话框中勾选“高考分数”--> OK
3. 现在 J 列是去除重复项的分数
4. 在 K 列用 rank 函数对 J 列排名,公式如下:
=RANK(J2,$J$2:$J$12)
5. 在 F2 输入以下公式,下拉即可,目的是用 vlookup 函数去查找 C 列的分数所对应的 K 列去重后的排名,即中国式排名:
=vlookup(C2,J:K,2,0)
方案3:用 sumproduct + countif 排名
1. 在 E2 单元格输入以下公式,下拉即可:
=SUMPRODUCT((C2<$C$2:$C$15)*(1/COUNTIF($C$2:$C$15,$C$2:$C$15)))+1
公式释义:
* 前面部分之前解释过了,不赘述
重点来看这一段 COUNTIF($C$2:$C$15,$C$2:$C$15):Countif 统计数组中每个数的重复次数,即先用 C2 历遍整个数组,得到重复次数;再用 C3 历遍整个数组,得到重复次数……依次类推
1/COUNTIF($C$2:$C$15,$C$2:$C$15):
用 1 除以数组中每个数的重复次数,等到一组最大值为 1 的数组
当总分重复 n 次时,通过 1/n,把重复次数拆分成了 n 等分
下图是用 F9 查看这段公式后显示的值,便于大家理解
SUMPRODUCT((C2<$C$2:$C$15)*(1/COUNTIF($C$2:$C$15,$C$2:$C$15))):
就是用一组 1 和 0 组成的数组,与一组 1 和小数组成的数组积求和
0 * 任何数为 0,忽略不计;1 * 1 也好理解
当第二个值为分数时,比如1/3(上图中显示为0.33333333……),表示重复了 3 次,而且 1/3 会在数组中出现三次,sumproduct 对它积求和即1*1/3+1*1/3+1*1/3=1,也就是不管重复几次,最后结果都只统计 1 次
因此实现了中国式排名的逻辑
+1:比自己大的个数 +1,即自己的排名
方案4:用数据透视表排名
1. 制作数据透视表:点击表格中的任意单元格 --> 选择菜单栏的 Insert --> PivotTable
2. 默认将数据透视表放入一个新 sheet --> 在右边的对话框中将“姓名”拖动到 Rows 区域 --> 将“高考总分”拖动到 Values 区域,拖动两次:一列用来显示总分,另一列用来显示排名
3. 回到数据透视表,随意选中第 2 个“高考总分”列的任意单元格 --> 右键单击 --> 选择 Show Values As --> Rank Largest to Smallest
4. 在弹出的对话框中点击 OK
5. 现在 C 列已经变成了中国式排名了
6. 我们再对 C 列排下序:选中 C 列的任意单元格 --> 右键单击 --> 选择 Sort --> Sort Largest to Smallest
7. 然后把 C 列的标题改成“排名”,就完成了
2. excel怎样排成绩从高到低
方法一:
1.首先在电脑上打开Excel2019,用Excel2019打开要编辑的成绩表格
2.接下来点击第1个名词的单元格,然后输入公式=Rank(F3,$F$3:$F$16)
3.然后点击公式编辑框前面的确认按钮
4.这时可以看到,当前已经显示出该学生的名次了
5.点击名字的单元格右下角的快速填充按钮
6.向下拉动快速填充滑块就可以对其它学生总分的名次排名了
3. excel怎样按成绩高低排序
excel表格成绩排序快捷键操作步骤
1、打开Excel,选中我们要存放排名的单元格。
2、输入公式:=RANK(E2,$E$2:$E$8)。
3、输入完成后按Enter(回车键),即可计算出单个成绩的排名。
4、移动鼠标到那个排名单元格的右下角,直到鼠标变成一个“+”,按住鼠标左键往下拖动,即可计算出范围内所有成绩的排名。
公式:=RANK(E2,$E$2:$E$8)
解读函数公式:取一个值(E2),选择区域(E2-E8),RANK对区域内的所有数值进行比较排名。
4. excel表格成绩从高到低怎么排序
Excel实现按名次自动排序,可使用排序功能实现。方法步骤如下:
1、打开需要操作的EXCEL表格,选中相关单元格,点击开始选项卡中的“排序和筛选”>“降序”。
2、在弹出的对话框中选择“扩展选定区域”,然后点击确定即可。
3、返回EXCEL表格,发现已实现按名称排序
5. excel怎么按成绩高低排序
1.打开要操作的表格。点击数据区域的任意一个单元格。
2.单击菜单栏上的“数据”菜单,点击“排序”按钮。
3.在“列”的“主要关键字”中选择“总分”,“次序”选择“降序”,点击“确定”按钮。
4.在工作表中就可以看到这些数据已经按总分由高到低的顺序进行了排序
6. excel表格中怎样按成绩按高到低排序
1、打开Excel,选中我们要存放排名的单元格。
2、输入公式:=RANK(E2,$E$2:$E$8)。
3、输入完成后按Enter(回车键),即可计算出单个成绩的排名。
4、移动鼠标到那个排名单元格的右下角,直到鼠标变成一个“+”,按住鼠标左键往下拖动,即可计算出范围内所有成绩的排名。
公式:=RANK(E2,$E$2:$E$8)
解读函数公式:取一个值(E2),选择区域(E2-E8),RANK对区域内的所有数值进行比较排名
7. excel表格成绩从高到低排序
excel总分降序如何排列?
打开我们保存的excel文件。
进入excel以后,选择开始选项。
然后以表格中的总成绩为例进行降序排序,选中总成绩部分。
在工具栏的最右侧,找到排序和筛选并点击排序和筛选。
希望能帮助到你,谢谢你的使用,祝你生活愉快。
8. excel如何按成绩高低排序
1.先把成绩信息在excel里登记好;
2.这里是要做分数排序,所以表格里要有一项“总分”项;
3.右键或者在工具栏选择“排序”-“降序”即可完成由高到低排序;
4.选择“升序”则总分最低会排到最前面,所以考虑到成绩公布,我们一般在做分数排序时,都会选择“降序”进行排序;做好的成绩表格,导到易查分,还可以实现在线自主查询成绩的功能!
9. excel中怎么把成绩按从高到低排序
以excel2016为例:
1、首先在excel表格中输入一组数据,需要根据函数公式将其从高到低排序。
2、在B1单元格中输入公式:=LARGE($A$1:$A$6,ROW(A1))。
3、点击回车即可根据A列的数据提取出最高值的数据显示出来。
4、点击B1单元格右下角的绿色圆点并下拉公式即可按照从高到低的顺序重新排列数据
10. excel成绩从高到低排序
1. 先把目标区域和下拉菜单的样式搭建好。
2. 选中 G2 单元格 --> 选择菜单栏的“数据”-->“数据验证”-->“数据验证”
3. 在弹出的对话框中选择“设置”选项卡,按以下方式设置 --> 点击“确定”:
允许:选择“序列”
来源:输入“升序,降序”
下拉菜单已经设置完成。
4. 在 E2 单元格中输入以下公式:
=IF($G$2="升序",SMALL($B$2:$B$14,ROW(A1)),LARGE($B$2:$B$14,ROW(A1)))
公式释义:
SMALL($B$2:$B$14,ROW(A1)):选出区域 $B$2:$B$14 中第 ROW(A1) 小的单元格;随着公式下拉,ROW(A1) 会逐行递增,从而实现从小到大排序;
LARGE($B$2:$B$14,ROW(A1)):选出区域 $B$2:$B$14 中第 ROW(A1) 大的单元格;
if(...):根据下拉菜单的文字,分别执行升序或降序排列
5. 将 C 列设置为第一个辅助列,在 C2 单元格中输入以下公式:
=B2&COUNTIF($B$2:B2,B2)
公式释义:
COUNTIF($B$2:B2,B2):统计从 B2 开始到当前行,B2 单元格总共出现了几次
B2$...:将 B2 及其出现的次数连接起来,从而变成一个唯一值;这样即使获客数有重复,也能匹配到不同的姓名
6. 将 F 列设置为第二个辅助列,在 F2 单元格中输入以下公式:
=E2&COUNTIF($E$2:E2,E2)
公式释义同上。
7. 在 D2 单元格中输入以下公式:
=INDEX(A:A,MATCH(F2,C:C,0))
公式释义:
MATCH(F2,C:C,0):找出 F2 在 C 列序列中出现的位置顺序,是一个数值;
INDEX(A:A,...):匹配出 A 列中对应位置的值
8. 选中 C2:F2 区域向下拖动,从而复制公式。
9. 将 C 和 F 列的字体设置为白色。
现在选择下拉菜单的选项,第二个数据表就会自动根据要求排序。
接下来我们再加上数据条,这样可以使得数据差距更加可视化。
10. 选中 E2:E14 区域 --> 选择菜单栏的“开始”-->“条件格式”-->“数据条”--> 选择所需的数据条样式
这是选择下拉菜单的动态效果。
- 相关评论
- 我要评论
-