公式看上去似乎长而复杂, 但一步一步解析,发现它的语法表达很清楚,逻辑是明了的,每个参数起到的作用,都是非常巧妙的。通过这样一个组合公式,我们可以掌握多个函数的嵌套应用,有助于提升函数运用水平,和理解公式运算逻辑。
前面我们介绍了在多科目成绩表中,对每个科目分别进行排名,也就是分类条件排名的公式应用。
今天我们将继续学习如何来引用不同分类下排名前3的所有数据信息。
如下图数据表所示,左侧为成绩表,右侧为公式引用到的各科目成绩排名前3信息表。

我们先来看下使用公式引用的动图演示效果:

输入公式,并进行填充,能够获取到成绩表中各科成绩排名前3的所有数据信息。
那么这个公式是如何创建的呢?下面作者将介绍两个方法。
方法一:辅助列+filter函数
filter函数是新版本专用于筛选场景的引用函数,它非常适用于各种数据引用案例,如这个成绩表要引用符合各科成绩排名的数据,就属于一种筛选操作,但它的筛选条件主要包含两个,一个是指定科目,另一个是成绩分数。
filter函数的条件写法我们在专栏《Excel高频引用函数应用大全》进行了详细介绍,重点是filter条件参数的设置。
在数据表中,如何设置科目分别为语文、数学和英语,以及如何设置分数排名前3,都是亟待解决的问题。
但回到作者讲解分类条件排名案例时,我们可以获取不同科目各自的排名,通过得到的排名,来作为filter函数的筛选条件,其实就可以筛选引用到符合科目和分数排名两个条件的所有数据。
如下图所示,作者创建了一个辅助列,计算出学生们各科目成绩的排名。

此时排名辅助列的名次用数字来表示,所有结果为1、2、3的数据行都是我们要引用的信息,因此使用filter函数进行条件筛选,公式如下:
=filter(A1:D22,(D1:D22=1)+(D1:D22=2)+(D1:D22=3))

很明显,这个filter公式的条件,就是名次等于1、2、3,所有符合这个条件的行数据,都被筛选出来,然后显示在指定位置。
如果要对名次进行升序排序,则可以再组合sort函数,公式为:
购买专栏解锁剩余67%