ARTICLE · 1198125
WPS查找类函数终章FILTER函数
查找的最高阶段不是"把数据挑出来"是"让挑的动作,后续自动更新"
想象一个工作场景,周五 17:40,领导在群里丢了一句:"把华东区、金额 5000 以上、还没发货的订单拉出来。我想看看。"
新手的操作是:点筛选 → 依次选三个条件 → 复制 → 粘到新表 → 调格式。领导简单的一句想看看,新手可能要耗费10分钟。
下次领导再想看时,又要10分钟。
老手直接使用FILTER,一键挑选目标数据,数据更新后,表格还能自动更新。领导下次要看时,10秒钟就能给到。
这篇不写语法大全,只讲我用下来最值钱的5 个经验:一个骨架、两个符号、一个被忽略的参数、两组嵌套,以及三个翻过的坑。
一、骨架只有三个参数,先记住它
前两个必填,第三个可选——但我建议每次都写,理由后面再讲。
回到开头提出的问题,假设 A 列订单号、C 列地区、D 列金额、E 列发货状态,数据到第 3000 行:
回车,结果自动填充到当前单元格下方和右侧,行数随结果多少自动伸缩。更关键的是:源数据新增一行符合条件的记录,结果会自己长出一行,不用重做第二次。
说个小常识:第二参数要和第一参数等高。数据区域是 A2:E3000,条件区行数必须相同,即 2999 行。这是新手最高频的报错来源。
为什么呢?条件区的计算结果会生成一个TRUE/FALSE(1/0)组成的数组,和返回的数据区域一一对应,返回判断为TRUE(1)的区域。
如果条件区域长度和数据区域不一致,则不能一一对应。
二、多条件靠两个符号:* 代表"且",+ 代表"或"
WPS 没给 FILTER 准备 AND / OR 参数,靠乘号和加号拼:
原理好记:TRUE 记 1,FALSE 记 0。乘法要全部为 1 才留下,加法有一个 1 就留下。千万别写成 AND(...)——它会把一整列压成单个结果,而非数组。
顺手一个进阶玩法:把条件做成"查询面板"。H1 放地区、H2 放金额门槛,方便其他同事使用。
格子留空就等于"不限"。同事不会改公式也没关系,填格子就行。
三、第三参数别省,发挥兜底作用
没有符合条件的记录时,FILTER 默认返回 #CALC!。你自己知道那是"没数据",看到这张表的人只会觉得你做错了。补一个 "暂无符合记录",成本是零,观感完全不同。只要公式会交给别人看,这个参数就必写。
四、两组常用嵌套
筛选完顺手排序:
按第 4 列金额降序(-1 降序、1 升序),一个公式搞定,排序按钮可以退休了。
筛出唯一值做下拉菜单:
结果直接当数据验证的序列来源——选了省份,后面的城市下拉跟着变,做模板时特别省事。
五、三个坑注意避让
1. #VALUE! 十有八九是区域行数对不齐,拿 ROWS() 比对两边即可。
2. #SPILL! 溢出区被挡住了。目标位置下方或右侧只要有内容——哪怕一个看不见的空格——都会阻塞,合并单元格同样会挡。建议单开一个干净sheet
3. 越用越卡 图省事写整列引用 A:E,首次计算可能要等好几秒。改成 Ctrl+T 建表,或把区域扩到预计最大行。
另外提醒一句:提前和同事确认使用的WPS或者EXCEL版本。
文件要发给用旧版 WPS 或 Excel 2016 的同事,动态数组会显示 #NAME?。选中结果区域 → 复制 → 选择性粘贴为"数值",转成静态再发。
写在最后
我用 FILTER 最大的感受,不是它省了多少次点击,而是它把"重复劳动"变成了"一次搭建"。表还是那张表,但它自己会长大。
筛选的本质不是"把数据挑出来",而是"让挑数据的动作,只做一次"。
如果你也被手动筛选折磨过,点个「在看」,再转发给那个总在做表的同事。
受限于文章篇幅,使用具体数据对公式使用进行演示。如有需要,后台回复“FILTER”获取文章相关数据及公式演示。
还想看哪个函数的实战拆解?评论区告诉我,下一篇就写它。
本文为个人使用经验分享,函数表现可能因 WPS 版本不同而有差异,欢迎留言补充你的发现。















































































