[注意] 公式结构
=FILTER(数组, 包括, [空值])[详解] 参数详解
- 数组:要筛选的数据区域(可以是多行多列)。
- 包括:条件表达式,返回TRUE/FALSE的数组。只有TRUE对应的行会被保留。
- 空值:可选,如果没有符合条件的记录时显示什么(默认#CALC!错误)。
[数据] 案例1:单条件筛选
从A2:C100中筛选出所有“手机”的订单:
=FILTER(A2:C100, B2:B100="手机", "无数据")执行过程:检查B2:B100每个单元格是否等于“手机”,生成一个TRUE/FALSE数组,FILTER保留对应TRUE行的A到C列数据。
[数据] 案例2:多条件AND筛选
筛选出“手机”且“销售额>10000”的订单:
=FILTER(A2:C100, (B2:B100="手机") * (C2:C100>10000))* 表示AND逻辑。两个条件都TRUE时乘积为1,否则0。
[数据] 案例3:多条件OR筛选
筛选出“手机”或“平板”的订单:
=FILTER(A2:C100, (B2:B100="手机") + (B2:B100="平板"))+ 表示OR逻辑。任一条件TRUE时结果>=1,FILTER将其视为TRUE。
[工具] 高级用法:将FILTER结果排序
配合SORT函数:=SORT(FILTER(A2:C100, B2:B100="手机"), 3, -1) 按第3列降序排序。
[工具] 高级用法:提取不重复值
结合UNIQUE:=UNIQUE(FILTER(B2:B100, B2:B100"")) 提取B列非空的不重复值。
[警告] 注意事项
- FILTER函数仅在Excel 365和Excel 2021及以上版本可用。
- 条件数组必须与数据区域行数相同。
- 筛选结果会自动溢出到相邻单元格,确保下方和右侧有足够空间。