乐于分享
好东西不私藏

Excel 动态筛选神器 FILTER:“且” 用 *、“或” 用 +,看完直接套用

Excel 动态筛选神器 FILTER:“且” 用 *、“或” 用 +,看完直接套用
想系统学习Excel的朋友先看这个:为什么你学Excel永远半途而废?换一种学习模式,普通人也能稳稳学会
以下正文:
做数据统计的朋友应该都有同感:平时要从一大堆供应商、零件检测表里挑符合要求的数据,以前要么高级筛选,要么一堆 IF+INDEX+MATCH 嵌套,公式写一大串还容易崩。
现在 365/2021 及以上版本自带的FILTER 函数,直接一键提取匹配数据,自动溢出填充,不用下拉、不用拖动,今天结合供应商检测案例,把日常最常用的 4 种筛选场景一次性讲明白,看完就能直接套用。

01

先搞懂 FILTER 基础语法,一眼看懂逻辑
通用公式结构:
=FILTER(要提取的数据区域, 筛选条件)
拆解一下:
第一参数:你想完整提取哪一块数据,案例里是 A:C 三列(供应商 + 零件 + 检测结果);
第二参数:筛选规则,返回 TRUE 就保留该行,FALSE 直接过滤;小知识点:多个条件时,乘号 * 代表 “并且”,加号 + 代表 “或者”,这是全文核心,记牢!
场景 1:单条件精准筛选,匹配固定文本
需求:只把「供应商 1」所有记录单独提取出来公式(E2 单元格输入):
=FILTER(A:C,A:A="供应商1")
拆解说明
A:C:提取供应商、零件、检测结果整行三列数据;
A:A="供应商 1":判断 A 列每一行供应商名称,等于供应商 1 就保留;
实操效果
输入公式按回车,E2 开始自动向下向右铺满所有供应商 1 的记录,不用填充柄,新增数据刷新表格就能自动更新结果,比筛选复制粘贴省事十倍。
同理,单条件换一列也适用:只提取所有「不合格」记录
=FILTER(A:C,C:C="不合格")
只改判断列和匹配文字,逻辑完全不变,适配所有单列匹配需求。
场景 2:多条件「并且」筛选,同时满足 2 个要求
需求:找出供应商 1 且 检测结果合格的数据,两个条件必须同时成立公式:
=FILTER(A:C,(A:A="供应商1")*(C:C="合格"))
重点讲乘号 * 的逻辑
括号包裹两个独立条件,中间用*连接:
(A:A="供应商 1"):满足返回 1,不满足返回 0;
(C:C="合格"):满足返回 1,不满足返回 0;数学相乘逻辑:只有两个都是 1(同时满足),乘积才 = 1,FILTER 才会保留这一行;任意一个是 0,乘积为 0 直接过滤。日常延伸用法:想加第三个条件,直接*(新增条件)就行,无限叠加 “且” 规则。
场景 3:多条件「或者」筛选,满足任意一个即可
需求:提取零件是零件 A 或者 零件 C的全部记录,只要匹配其中一个就显示公式:
=FILTER(A:C,(B:B="零件A")+(B:B="零件C"))
重点讲加号 + 的逻辑
两个条件用+连接:
只要任意一个条件成立,数值相加≥1,判定为 TRUE,保留该行;
两个条件都不满足,相加 = 0,判定为 FALSE,直接过滤;延伸:需要加更多 “或” 条件,继续+(新条件),比如零件 A / 零件 C / 零件 D,直接叠加加号。

02

职场实用补充小贴士,避开踩坑
版本限制提醒
FILTER 是 Excel 365、Excel2021 及以上新版本专属函数,2019 及更低版本用不了,打开会直接报 #NAME? 错误,旧版本只能用传统 INDEX+MATCH 组合替代;
区域别整列滥用(优化提速)
案例里用 A:A 整列只是方便看懂逻辑,实际数据几百上千行时,建议改成固定区域 A2:C1000,减少表格计算卡顿;
无匹配结果报错处理
如果筛选后一条数据都没有,会出现 #CALC! 报错,想自定义空白提示可以加第三参数:
=FILTER(A:C,A:A="供应商5","暂无匹配数据")
和传统筛选对比优势
普通筛选只能临时看,复制还要手动操作;FILTER 公式固定在单元格,源表格修改、新增数据,结果自动同步,做报表、动态台账刚需。

03

快速套用模板,直接改文字就能用
单条件:=FILTER(数据区域,判断列=“关键词”)
双条件同时满足(且):=FILTER(数据区域,(条件1)*(条件2))
多条件任一满足(或):=FILTER(数据区域,(条件1)+(条件2)+(条件3))