做销售数据的朋友应该都有这个经历:老板说"把华东区销售额超过5万的客户拉出来",你点筛选、设条件、复制结果到新表。过两天老板又改口"改成3万",又得重来一遍。
FILTER函数就是干这个的。写一个公式放那,条件改了结果自己跟着变,不用重新筛选。
语法很简单
=FILTER(要返回的数据区域, 筛选条件, 找不到时显示什么)
三个参数,最后一个可以省略。
单条件筛选
A列是区域、B列是客户名、C列是销售额,要筛出华东区所有客户:
=FILTER(A2:C200, A2:A200="华东", "无数据")
输入这一个公式,华东区所有行的数据自动展开,不用拖拽、不用复制。改条件把"华东"换成"华南",结果马上变。
多条件筛选
两个条件同时满足,用乘号连接:
=FILTER(A2:C200, (A2:A200="华东")*(C2:C200>50000), "无数据")
这是筛选华东区且销售额大于5万的记录。
满足任意一个条件,用加号连接:
=FILTER(A2:C200, (A2:A200="华东")+(A2:A200="华南"), "无数据")
这是筛选华东区或华南区的记录。
嵌套SORT排序
筛选完还想按销售额从高到低排?外面套一个SORT就行:
=SORT(FILTER(A2:C200, A2:A200="华东"), 3, -1)
3表示按第3列排序,-1表示降序。
跟普通筛选的区别
版本要求
Microsoft 365和Excel 2021及以上支持。WPS目前不支持FILTER函数,如果你用的是WPS,多条件筛选还是得用传统方式。
用365的朋友,建议把FILTER+SORT+UNIQUE这几个动态数组函数一起学,搭配起来做数据看板比透视表还快,不用每次手动刷新。
我是常大虾,做了十几年中小企业IT运维,帮客户做数据报表的活没少干,觉得有用转发给同事看看。