乐于分享
好东西不私藏

Excel FILTER函数完全指南:9大场景 + 版本说明

Excel FILTER函数完全指南:9大场景 + 版本说明

Excel FILTER函数完全指南:9大场景 + 版本说明

在日常工作中,数据筛选几乎是每个 Excel 用户每天都要面对的操作。如果你还在用筛选按钮一层层点开,FILTER 函数值得你花 10 分钟了解它。


一、FILTER 是什么?

FILTER 是 Excel 365 和 Excel 2021 引入的动态数组函数,核心能力是根据指定条件,从数据区域中自动提取符合条件的行,结果直接”溢出”显示在单元格里。

与其他筛选方式的区别:

  • 筛选按钮:手动操作,结果无法直接参与后续计算
  • FILTER 函数:写入单元格,结果随数据变化自动更新,可直接参与公式联动

基本语法

=FILTER(array,include,[if_empty])
参数
说明
是否必填
array
要筛选的数据区域
include
条件表达式
if_empty
无匹配时返回的内容

二、9 大实战场景

场景一:单条件筛选

需求: 从员工表中筛选出所有「销售部」员工。

公式:

=FILTER(B5:G14,C5:C14="销售部","无匹配结果")

在 H6 单元格输入公式后,结果自动溢出到 H6 以下的区域,无需复制。


场景二:多条件 AND 组合

需求: 筛选月薪超过 12000 且工作城市为北京。

公式:

=FILTER(B5:G14,(F5:F14>12000)*(C5:C14="北京"),"无匹配")

*(乘号)实现 AND 逻辑,两个条件同时为 TRUE 时行才被保留。


场景三:多条件 OR 组合

需求: 筛选城市为北京或上海的员工。

公式:

=FILTER(B5:G14,(C5:C14="北京")+(C5:C14="上海"),"无匹配")

+(加号)实现 OR 逻辑,任意条件为 TRUE 时行即被保留。


场景四:模糊匹配

需求: 筛选部门名称中包含「技术」字样的员工(完整写法不确定,如技术研发部、技术部等均需匹配)。

公式:

=FILTER(B5:G14,ISNUMBER(SEARCH("技术",C5:C14)),"无匹配")

SEARCH 函数查找不到内容时返回错误值,ISNUMBER() 将其转为 FALSE,找到时转为 TRUE,从而实现模糊匹配。SEARCH 不区分大小写。

姓名包含某字:

=FILTER(B5:G14,ISNUMBER(SEARCH("张",B5:B14)),"无匹配")

场景五:排除空值行

需求: 只保留所有字段都完整的记录,排除任何一列存在空值的行。

严格版(所有列非空):

=FILTER(B5:G14,  (B5:B14<>"")*(C5:C14<>"")*(D5:D14<>"")  *(E5:E14<>"")*(F5:F14<>""),  "全部记录完整")

宽松版(只要求姓名、部门、月薪非空):

=FILTER(B5:G14,  (B5:B14<>"")*(C5:C14<>"")*(F5:F14<>""),  "无匹配")

场景六:FILTER + SORT 组合

需求: 筛选销售部员工,并按月薪从高到低排列。

公式:

=SORT(FILTER(B5:G14,C5:C14="销售部"),6,-1)

SORT 语法:SORT(区域, 排序列号, 排序方向)-1 为降序,1 为升序。

多键排序(先按部门升序,再按月薪降序):

=SORT(FILTER(B5:G14,C5:C14<>"技术部"),{3,6},{1,-1})

场景七:FILTER 与其他动态数组函数嵌套

FILTER 可以与多个动态数组函数自由组合:

UNIQUE 去重:

=UNIQUE(C5:C14)

去重后排序:

=SORT(UNIQUE(C5:C14))

筛选后取月薪最高的前 3 名:

=TAKE(SORT(FILTER(B5:G14,C5:C14<>""),6,-1),3)

直接求某部门月薪合计(免辅助列):

=SUM(FILTER(F5:F14,C5:C14="销售部"))

场景八:按条件查找并返回多列

需求: 已知工号,查找该员工全部信息。

公式:

=FILTER(B5:G14,B5:B14="E003","工号不存在")

一个公式返回该员工的所有列,无需分别写多个查找公式。

模糊查找姓名包含某字的员工:

=FILTER(B5:G14,ISNUMBER(SEARCH("王",B5:B14)),"查无此人")

场景九:各部门独立看板

需求: 一张总表,各部门自动生成独立数据区域,总表更新后所有看板自动刷新。

销售部看板:

=FILTER(B5:G14,C5:C14="销售部")

技术部看板:

=FILTER(B5:G14,C5:C14="技术部")

各部门月薪合计:

=SUM(FILTER(F5:F14,C5:C14="销售部"))

三、版本兼容说明

平台
是否支持
Excel 365(Windows/Mac)
✅ 支持
Excel 2021(买断制)
✅ 支持
Excel 2019 及更早
❌ 不支持
Excel for iPad / iPhone(365订阅)
✅ 支持
Microsoft 365 网页版
✅ 支持
WPS Office(较新版本)
⚠️ 部分支持
Google Sheets
✅ 支持
Apple Numbers
❌ 不支持
腾讯文档 / 飞书文档(在线)
⚠️ 部分支持

快速检测方法: 在单元格输入 =ISREF(FILTER),返回 TRUE 表示可用。


四、总结

FILTER 函数的三大核心价值:

  1. 多条件组合:用 * 和 + 自由连接多个条件,一行公式替代过去多步操作
  2. 多列返回:一个公式返回全部列,无需针对每一列单独写公式
  3. 动态联动:原数据更新时,筛选结果自动刷新,结果可参与后续公式联动

唯一需要注意的:Excel 2019 及更早版本不包含此函数,使用前请确认自己和协作者的版本。