内容
切换
Excel 筛选多个条件 — 部分匹配、OR/AND、日期范围和重复删除1)基本语法和原理2)多条件AND3) 地区/类别或4)部分匹配(包含)搜索5)日期范围+排序+删除重复项6)控制空结果/错误消息7)性能/操作提示
Excel 筛选多个条件 — 部分匹配、OR/AND、日期范围和重复删除
概括: FILTER是动态数组时代的查找标准,是一个等长条件数组。 *(和), +即使是复杂的过滤器也可以通过使用 (OR) 组合在一行中完成。 SEARCH部分匹配、日期比较操作、 UNIQUE·SORTBY如果进行后期处理的话,实用的仪表盘就立即完成了。
内容
1.基本语法和原理
2. 多个条件 AND
3. 地区/类别或
4. 部分匹配(包含)搜索
5. 日期范围 + 排序 + 删除重复项
6. 控制空结果/错误消息
7. 性能/操作提示
8.相关文章(内部链接)
1)基本语法和原理
语法是 =FILTER(return_array, include, [if_empty]). 包括它包含一个与返回范围长度相同的 TRUE/FALSE 数组。仅保留 TRUE,FALSE 将被移除,并动态溢出。如果配置为表格,范围将自动扩展,因此即使数据增加,公式也不会被修改。
2)多条件AND
=FILTER(SalesTbl, (SalesTbl[Region]="서울")*(SalesTbl[Score]>=90)*(SalesTbl[Status]<>"취소"))
乘法(*)只传递TRUE(1)×TRUE(1)=1,因此变为AND。比较符号 <>是“不一样”。
3) 地区/类别或
=FILTER(SalesTbl, (SalesTbl[Region]="서울")+(SalesTbl[Region]="부산"))
如果有一个加号 (+),则为 1,满足或条件。当有三个或更多或时, ISNUMBER(XMATCH()) 该模式更易于阅读。
=FILTER(SalesTbl, ISNUMBER(XMATCH(SalesTbl[Region], {"서울","부산","대전"})))
4)部分匹配(包含)搜索
=FILTER(SalesTbl, ISNUMBER(SEARCH("프리미엄", SalesTbl[Product])))
SEARCH不区分大小写。如果需要区分大小写, FIND. 多个关键字或 ISNUMBER(SEARCH("A",…))+ISNUMBER(SEARCH("B",…))它被组合在一起作为附加部分。
5)日期范围+排序+删除重复项
=LET(
s, DATE(2025,1,1),
e, DATE(2025,12,31),
f, FILTER(SalesTbl, (SalesTbl[Date]>=s)*(SalesTbl[Date]<=e)*(SalesTbl[Qty]>0)),
SORTBY( UNIQUE(CHOOSECOLS(f, XMATCH("Customer", SalesTbl[#Headers]))),
CHOOSECOLS(f, XMATCH("Qty", SalesTbl[#Headers])), -1 )
)
这是选取一定时期内购买且无重复的顾客,并按数量降序排列的例子。 LET可读性和性能都得到了提高。
6)控制空结果/错误消息
=IFERROR(
FILTER(SalesTbl, (SalesTbl[Region]="서울")*(SalesTbl[Qty]>0)),
"조건에 맞는 결과가 없습니다."
)
7)性能/操作提示
将条件列拆分为**帮助列**,方便维护。例如: Helper_AND = (Region="서울")*(Qty>0)
大桌子 按Ctrl + T转换为,计算范围仅为所需的列 CHOOSECOLS将其范围缩小至。
NA()如果它们混合在一起,比较就失败了。首先, IFERROR整理好之后我们再进行筛选。
相关文章(内部链接)
表格/结构化参考
TEXTSPLIT/BEFORE/AFTER — 文本预处理
COUNTIF·COUNTIFS — 条件聚合
XLOOKUP/XMATCH — 代码匹配
VSTACK/HSTACK/TOCOL — 堆叠数据
IFERROR/ISERROR — 错误处理
LET·LAMBDA — 性能优化
ALT(推荐): Excel 筛选多个条件 — 笔记本电脑屏幕上逼真的筛选公式的缩略图。
文件名: excel-filter-multiple-criteria-kkongi-1280x720-v1.webp