动态报表的终极奥义! excel表格中FILTER+SORT函数实现动态排序筛选
FILTER函数在Excel或WPS表格中一个超级智能筛子,下面我们通过一个简单的案例领会它的强大之处。
微软Office LTSC 2021专业增强版 简体中文批量许可版 2024年09月更新
- 类型:办公软件
- 大致:2.2GB
- 语言:简体中文
- 时刻:2024-09-12
查看详情
如下图所示:
A1:E9区域为数据源区域,是一份学生成绩表。每个同学包含语数英三科成绩以及总成绩。各位同学总成绩的分数顺序是打乱的,没有按照总分数由高至低的顺序依次排序。
我们要做的就是:将总成绩大于250分的学生成绩筛选出来,并按总成绩分数由高至低的顺序依次排序。如G1:K4区域所示:
FILTER函数的定义与功能:
FILTER函数是Excel和WPS表格工具中的一种动态数组函数,核心功能是根据指定条件从数据区域中筛选出符合条件的记录。
FILTER函数语法为:
=FILTER(数组, 条件, [无结局时的返回值])
- 数组:需要筛选的数据区域(如A2:E9)。
- 条件:逻辑表达式(如E2:E9>250)。
无结局时的返回值(可选):当无匹配数据时显示的内容(如"无记录")。
第一步:进行筛选
我们可以这样输入函数公式:
=FILTER(A2:E9,E2:E9>250)
FILTER函数筛选A2:E9区域的数据,那么按照什么条件进行筛选呢?当条件区域E2:E9中的成绩大于250分的时候,我们才会执行对A2:E9区域的对应数据筛选。
那么我们就得到了总分数大于250分的所有同学成绩的行数据,显示在了G1:K4区域(深入了解行固定不变)。
Excel或WPS表格中的SORT函数用于对指定区域或数组进行排序,并返回排序后的结局。它不会修改原始数据,而是生成一个新的动态数组。
SORT函数的语法为:
=SORT(数组, [排序依据], [排序顺序], [按列或行)
- 参数1:必需。要排序的数组或区域。
- 参数2:可选。排序依据列的相对位置。默认值为1,表示按第一列排序。
- 参数3:可选。升降序选项,1表示升序排列,-1表示降序排列。默认值为1。
- 参数4:可选。排序路线选项,TRUE表示按列排序,FALSE表示按行排序。默认值为FALSE。
第二步:进行排序
我们可以这样输入函数公式:
=SORT(FILTER(A2:E9,E2:E9>250),5,-1)
以FILTER函数返回的数组溢出结局作为要排序的区域。那么按照哪列作为主要关键字排序依据呢?很明显我们要按照第5列“总分”进行排序。那么又要按照什么顺序排序呢?很明显我们将第三参数设置为“-1”,表示按照由高到低降序排序。
那么至此我们就完成了将总成绩大于250分的学生成绩按分数由高至低的顺序排序的职业。
我们拓展一下FILTER函数这个超级超级筛子的效果。
假如我们再增加一个条件,最终的筛选排序结局,要控制在语文成绩大于90分的基础之上。完成将总成绩大于250分的学生成绩按分数由高至低的顺序排序。
我们可以这样输入函数公式:
=SORT(FILTER(A2:E9,(E2:E9>250)(B2:B9>90)),5,-1)
增加的条件(B2:B9>90)可以用乘号与之前的条件(E2:E9>250)连接,表示两个条件同时成立。那么这样就完成啦!
推荐阅读:
excel中怎么使用filter函数 Excel函数FILTER的三种实用技巧
FILTER+SUM函数实现excel数据多条件求和的技巧