返回上一页
办公技巧·Excel/WPS

FILTER函数动态筛选——告别手动筛选

[注意] 公式结构

=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及以上版本可用。
  • 条件数组必须与数据区域行数相同。
  • 筛选结果会自动溢出到相邻单元格,确保下方和右侧有足够空间。