Excel 动态筛选神器 FILTER:“且” 用 *、“或” 用 +,看完直接套用
做数据统计的朋友应该都有同感:平时要从一大堆供应商、零件检测表里挑符合要求的数据,以前要么高级筛选,要么一堆 IF+INDEX+MATCH 嵌套,公式写一大串还容易崩。现在 365/2021 及以上版本自带的FILTER 函数,直接一键提取匹配数据,自动溢出填充,不用下拉、不用拖动,今天结合供应商检测案例,把日常最常用的 4 种筛选场景一次性讲明白,看完就能直接套用。第一参数:你想完整提取哪一块数据,案例里是 A:C 三列(供应商 + 零件 + 检测结果);第二参数:筛选规则,返回 TRUE 就保留该行,FALSE 直接过滤;小知识点:多个条件时,乘号 * 代表 “并且”,加号 + 代表 “或者”,这是全文核心,记牢!需求:只把「供应商 1」所有记录单独提取出来公式(E2 单元格输入):A:A="供应商 1":判断 A 列每一行供应商名称,等于供应商 1 就保留;输入公式按回车,E2 开始自动向下向右铺满所有供应商 1 的记录,不用填充柄,新增数据刷新表格就能自动更新结果,比筛选复制粘贴省事十倍。同理,单条件换一列也适用:只提取所有「不合格」记录只改判断列和匹配文字,逻辑完全不变,适配所有单列匹配需求。场景 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 直接过滤。日常延伸用法:想加第三个条件,直接*(新增条件)就行,无限叠加 “且” 规则。需求:提取零件是零件 A 或者 零件 C的全部记录,只要匹配其中一个就显示公式:=FILTER(A:C,(B:B="零件A")+(B:B="零件C"))只要任意一个条件成立,数值相加≥1,判定为 TRUE,保留该行;两个条件都不满足,相加 = 0,判定为 FALSE,直接过滤;延伸:需要加更多 “或” 条件,继续+(新条件),比如零件 A / 零件 C / 零件 D,直接叠加加号。FILTER 是 Excel 365、Excel2021 及以上新版本专属函数,2019 及更低版本用不了,打开会直接报 #NAME? 错误,旧版本只能用传统 INDEX+MATCH 组合替代;案例里用 A:A 整列只是方便看懂逻辑,实际数据几百上千行时,建议改成固定区域 A2:C1000,减少表格计算卡顿;如果筛选后一条数据都没有,会出现 #CALC! 报错,想自定义空白提示可以加第三参数:=FILTER(A:C,A:A="供应商5","暂无匹配数据")普通筛选只能临时看,复制还要手动操作;FILTER 公式固定在单元格,源表格修改、新增数据,结果自动同步,做报表、动态台账刚需。单条件:=FILTER(数据区域,判断列=“关键词”)双条件同时满足(且):=FILTER(数据区域,(条件1)*(条件2))多条件任一满足(或):=FILTER(数据区域,(条件1)+(条件2)+(条件3))