Excel关于排名的函数通常使用rank来计算,根据常规排名或中国式排名方式,也可以使用countif或sumproduct函数来计算。
而根据指定条件进行数值的排名,是较为常见的场景,但很多人并不清楚条件排名的公式使用,尤其是分类条件下的排名。
如下图所示,这是一个包含多个科目的成绩表,现在需要按照不同科目对学生的成绩进行排名。这是一个典型的分类排名,有几个分类,就有几个第1第2第3……名次。
通过对各科成绩的排名,我们还可以在其他位置直接引用各科目排名前3的所有学生的信息,这是下期我们将要学习的内容,即引用各分类下指定前几排名的科目、姓名和成绩信息。
今天我们介绍两种方法执行分类条件下的排名。
方法一、排序+countif函数
在数据表中,我们执行多关键字或多条件的自定义排序,将A列科目作为主排序条件,C列成绩为次排序条件。
则数据表首先执行科目排序,再对各科目的成绩进行排序。
此时我们输入countif函数公式,就可以得到各科目成绩的名次。
公式为:
=COUNTSF($A$2:A2,A2)
countif是条件计数函数,它的作用是统计符合指定条件的单元格个数,这里我们对科目和成绩执行排序后,实际上每个科目的成绩都是从大到小的降序排序,它的排名也就相应地执行了1、2、3……顺序的排序。
于是将countif函数的第1参数条件区域设置为混合引用“$A$2:A2”,表示当向下填充公式,它的区域是不断增加的,获得的计数结果自然是递增的,从而获得了各科目成绩的排名。
通过排序+countif函数能够快速得到分类条件下的排名,但如果不想对数据先行排序,而是使用一个公式直接获取排名,我们来看第二个方法。
方法二、match+large+if函数组合
购买专栏解锁剩余58%