老同学表格定制专家WPS / Excel 公式助手

FILTER

数组函数

根据指定条件筛选数组,返回所有符合条件的行或列(动态数组,结果自动溢出)。

基本语法
=FILTER (数组,条件,[不符合条件时返回的值])

参数怎么填

必填 2 个 · 选填 1 个
#参数要求怎么理解 / 怎么填
1数组必填要参与计算或返回结果的单元格区域/数组。
2条件必填判断规则,例如 ">100"、"销售部" 或 A1>0。
3不符合条件时返回的值选填筛选不到任何记录时显示的备用内容;例如写“无记录”,避免空结果直接报错。

① 找到数据区域

先确认条件列和结果列在哪,注意固定区域加 $

② 按顺序填参数

依次填 数组、条件

③ 回车并向下填充

双击填充柄,整列公式自动套用

跟着案例练 4 次

点击公式右侧可复制,换成你的单元格就能用
CASE 1

筛选销售部记录

★★★要求:筛选销售部记录
fx公式示例
=FILTER($D$8:$I$13,$F$8:$F$13="销售部")

解释:返回 D8:I13 中部门为销售部的整行记录。这里返回区域是完整数据表,条件区域只用部门列 F8:F13,所以筛出来的结果能直接看到销售部对应的日期、项目、区域、数量和金额。

CASE 2

筛选销售部且数量大于30

★★★要求:筛选销售部且数量大于30
fx公式示例
=FILTER($D$8:$I$13,($F$8:$F$13="销售部")*($H$8:$H$13>30))

解释:两个条件同时成立时用 * 连接:部门列等于销售部,并且数量列大于 30。FILTER 会逐行判断,只有两个条件都为 TRUE 的行才会被返回。

CASE 3

筛选华东或金额大于30000

★★★要求:筛选华东或金额大于30000
fx公式示例
=FILTER($D$8:$I$13,($G$8:$G$13="华东")+($I$8:$I$13>30000))

解释:两个条件满足任意一个时用 + 连接:区域是华东,或者金额大于 30000。这样可以直观看到“或关系”的筛选结果。

CASE 4

没有结果时显示提示

★★★要求:没有结果时显示提示
fx公式示例
=FILTER($D$8:$I$13,$I$8:$I$13>100000,"无记录")

解释:当金额列没有任何记录大于 100000 时,FILTER 不直接报错,而是显示“无记录”。第 3 个参数就是无结果时的备用提示。

模拟数据|动态数组数据

上面案例里的 日期、项目 等列,就来自这张表

把这张表放进工作台
行日期项目部门区域数量金额
82024-01-05笔记本电脑销售部华东1272,000
92024-01-12显示器销售部华南2036,000
102024-02-03键盘市场部华东3517,500
112024-02-18鼠标销售部华北4814,400
122024-03-09移动硬盘市场部华南1612,800
132024-03-21打印机财务部华东816,000