大家好,今天我们要解决的问题是如何在成绩表中提取出总分排名前三的学生的各科详细成绩。下图为举例,如果数据多的话,逻辑也是一样的。
如下图所示:
接下来咱们就一步步的思考往下走,首先既然是提取数据,我们第一个想到的就是FILTER函数。好,FILTER函数的语法:
先来输入它的第一参数 数组 这是我们想要筛选的数据范围,我们是要从所有学生的成绩中找到排名前三的学生,所以我们的数据范围就是全部的学生数据。
接下来输入第二个参数 包括 意思是我们要根据什么条件来筛选,在这里是要根据学生总分的高低来筛选前三名。
可是在这张成绩表中,是按照学生的学号排序的,并不是按照总分的高低来排序的。
这个时候我们就要先把学生的总分按照从高到低的顺序给排列下来,在这里有几种排列方法,咱们今天先分享利用RANK 函数来进行排名。
RANK函数的语法为:
输入RANK函数的第一参数和第二参数:
RANK函数的第三参数为可选参数,如果省略或者为0则按照降序排名,如果为1则按照升序排名。在这里咱们得省略的所以是按照降序排名,也就是按成绩的从高到低排序的。
选中RANK函数的公式,按住F9,就能够看到总分按照从高到低的顺序排列了。
接着在回到FILTER函数的第二参数 咱们是提取排名前三的学生,所以RANK函数得出来的排名是要小于4的。
这样的话呢,我们就把前三名的成绩给筛选出来了,这个时候有细心的同学发现了,哎你这名次不对呀,是的同学你说对了。
因为咱们使用FILTER函数抓取出来的,咱们只能把前三名给抓取出来,但是不能对他们排名,这个时候咱们就要用到SORT函数对其进行排名。
SORT函数的语法:
第一参数 数组 就是刚才我们用FILTER函数筛选出来的数据。
第二参数 排序依据 就是说根据第几列数据进行排序 可以看到利用FILTER函数抓取出来的总分在第六列,所以咱们就输入6。
如果说咱们是要按照英语成绩来排序的话,咱们就输入5.
第三参数 排序顺序 意思就是咱们是要怎么排序,是要升序还是要降序排列,如果按照升序,则输入1,如果是降序则输入-1。在这里咱们是要按住降序排列,所以输入-1。
输入完成之后,按回车,就可以得到我们想要的结果了。
评论 (0)