如何在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,所以要 +12. 现在开始中国式排名步骤,先按 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 列的标题改成“排名”,就完成了
excel如何筛选各班级成绩数据?
步骤如下:
1、将要处理的数据保存到excel文档中,excel打开准备好的数据,点击上方的菜单“开始”-“条件格式”-“突出显示单元格规则”-“大于”在弹出的“大于”条件设置窗口,我们选择成绩大于80的所有科目,颜色设置成“浅红色”。
2、确定后,我们可以看到所有成绩大于80的单元格都显示成浅红色。我们选择表头,就是首行的相关字段选中后,点击菜单“排序和筛选”,选择“筛选”,就可以看到对应的字段单元格,右下角有个三角按钮。
3、点击“三角”按钮,弹出筛选条件框,我们选择“按颜色筛选”-“按单元格颜色筛选”,找到颜色“浅红色”点击就可以筛选到浅红色的所有单元格。我们可以看到所有浅红色单元格数据,也就是我们一开始选择的成绩大于80的相关数据。
4、当然我们可以根据自己的需要设置不同区间成绩的突出显示颜色规则,例如我们下面将成绩70-80分的设置成“绿填充色深绿色文本”,成绩60-80分设置成“黄填充色深黄色文本”。然后我们就可以根据颜色去筛选。
excel表格怎样筛选同一科目?
1、首先打开控制面板。
2、找到excel并双击打开。
3、选中你所需要排序的区域。
4、点击工具栏中的“开始”选项,找到“开始”选项下的“编辑”栏中的“排序和筛选”,点击“排序和筛选”的下拉箭头。
5、在“排序和筛选”的下拉列表中选择“自定义排序”。
6、点开“自定义排序”,在其中点开“选项”这一按钮。
7、点开“选项”后,可以在其中设置排序的方法,以“姓名”为例,则可以勾选“字母排序”这一选项,制定好后,点击确定。
8、根据自己排序的内容选择关键词、排序的依据以及次序,选定后单击“确定”按钮即可完成排序。
9、若排序的依据不止一个,则可以点击“添加条件”按钮。
10、在“主要关键词”下方会出现“次要关键词”选项,根据自己的排序要求进行选择,最后单击“确定”按钮,即可完成排序。
如何利用EXCEL对成绩排名?(函数法)?
方法一:
1.首先在我们的电脑桌面上新建一个excel表格,如下图所示。
2.然后输入一些内容,如下图所示。
3.接着选择成绩那一列,如下图所示。
4.然后点击排序和筛选,如下图所示。
5.接着点击升序、降序或者自定义排序,如下图所示。
6.最后点击确定如下图所示,成绩排序成功。
方法二:
使用函数:【=RANK(F2,$F$2:$F$11)】
函数说明:
RANK函数:是求出数值在指定区域中排名函数。
F2,$F$2:$F$11:在F2单元格,区域是F2到F11这块区域。
=RANK(F2,$F$2:$F$11):合起来就是在求出F2单元格中的数据在F2到F11这块区域的数据中的排名情况。
excel表格筛选优秀良好及格方法?
1、比如分类的A列,B列中显示结果。条件:大于等于90分为优秀,90-60为良好,60以下为差。
2、在B1中输入=IF(A1>=90,"优秀",IF(A1>=60,"良好","差"))按下回车键。
3、其他的单元不用输入,使用填充功能向下填充公式。
值得注意的是:用IF判断A1值,如果A1大于等于90则显示优秀,否则再判断A1大于等于60时显示良好,否则显示差。