ARTICLE · 1306203
FILTER函数,Excel里的动态筛选神器,告别反复手动筛选
FILTER函数,Excel里的动态筛选神器,告别反复手动筛选
江湖绰号:FILTER「筛影罗」 武学释义:按设定条件过滤数据源,自动把满足条件的整行 / 指定内容抓取出来,动态溢出结果 语法结构 
核心作用 根据条件筛选数据源,自动吐出所有满足条件的数据,365/WPS 新版支持动态溢出,修改源数据自动刷新结果。 最简示例 目的:理解基础返回逻辑
讲解:在 A2:A6 名单里,只提取 B 列状态等于 “已完成” 的内容;找不到匹配项,就显示 “无匹配数据”。 

案例 1:单条件筛选,提取指定部门员工信息 场景:人事员工台账,一键筛选出【销售部】全部人员数据 D2 单元格输入公式: 
讲解: 案例 2:多条件筛选,同时满足双重条件【数据源不变,修改条件演示兜底效果】 场景:销售台账,筛选销售金额大于 3000,并且是 2026/10/1 之后的订单 原始数据源 ✅ 版本 1 公式(金额 > 3000) 结果:自动溢出 3 条符合条件订单(王浩、刘敏、周悦) 
✅ 版本 2 公式(同一份数据源,修改条件为金额 > 5000) 结果:没有订单满足要求,直接输出兜底文字:没有符合条件订单 
讲解: 案例 3:反向筛选,提取不满足条件的数据 + 空结果兜底【条件不变,修改数据源演示效果】 场景:库存表,筛选库存数量不等于 0的商品,也就是有货商品 ✅ 版本 1:原始数据源(存在有货商品) 公式: 结果:自动溢出 3 个有库存商品(赣南脐橙、纯牛奶整件、冷冻虾仁) 
✅ 版本 2:公式完全不变,修改数据源,所有商品库存清零 公式不变,依然是: 结果:没有满足条件的行,输出兜底文字:全部商品均已售罄 
讲解: 关键参数 / 易错点 版本要求 一句话心法 筛影罗辨真假,条件对齐才出霞,空值兜底防报错,源变结果自动查。 
💬 练习自测 读完本篇,你对 FILTER 函数掌握程度打几分? 0-9 分,9 分代表完全吃透,欢迎评论区打分交流。 

=FILTER(array, include, [if_empty])array【必填】:要筛选提取的原始数据区域(可以单列、多列区域) include【必填】:筛选条件,返回 TRUE/FALSE 的逻辑判断,区域大小必须和 array 行数一致 if_empty【可选】:没有任何数据满足条件时,公式返回的提示文本,不写则报错 #CALC!



=FILTER(A2:D6,B2:B6="销售部","暂无该部门员工")
第一参数 A2:D6 是完整数据源;第二参数判断 B 列部门是否等于销售部; 输入公式后,满足条件的整行自动向下向右溢出; 如果台账里没有销售部人员,不会报错,展示预设提示文字。
=FILTER(A2:D6,(A2:A6>=DATE(2026,10,1))*(D2:D6>3000),"没有符合条件订单")
=FILTER(A2:D6,(A2:A6>=DATE(2026,10,1))*(D2:D6>5000),"没有符合条件订单")
FILTER 里多个条件同时满足,用*连接条件(等价 AND); 条件区域行数和数据源必须对齐; 同一套数据源,只修改判断条件,就能切换筛选结果;第三参数 if_empty 在这里发挥兜底作用,避免 #CALC! 报错。
=FILTER(A2:D6,C2:C6<>0,"全部商品均已售罄")
=FILTER(A2:D6,C2:C6<>0,"全部商品均已售罄")
<>代表不等号,C2:C6<>0,保留库存不为 0 的行; 公式条件完全不动,仅仅变更源表里的数据,FILTER 会自动刷新结果; 适合库存、订单、客户名单等大量需要排除空 / 零数据的业务场景。
array 和 include 两个区域行数必须完全一致,行列错位直接报错 #VALUE!; 多条件同时成立用*;满足任意一个条件用+; 不写 if_empty 参数,找不到匹配数据会返回 #CALC! 错误,建议习惯性带上兜底文字; FILTER 是动态数组函数,溢出区域不能有其他内容,否则 #SPILL! 溢出报错; 区分:FILTER 只负责筛选行,不会排序;想要筛选 + 排序,可以后续搭配 SORT。
Microsoft 365、新版 WPS 表格支持; Excel2021 及更早旧版本,没有 FILTER 函数,无法使用。

















































































