Excel FILTER 函数
Author: Amanda Li Last Modified: 2025-07-31
FILTER 函数根据您指定的条件筛选数据范围,并动态返回匹配结果。
注意:FILTER 函数仅在 Microsoft 365 的 Excel、Excel 2021 或更新版本的 Excel,以及 Excel 网页版中可用。
语法
=FILTER(array, include, [if_empty])
参数
- array (必需):要筛选的范围或数组。
- include (必需):返回布尔值(TRUE 或 FALSE)数组的逻辑测试,指示 array 中对应的行或列是否应通过 FILTER 筛选。
- [if_empty] (可选):如果包含的数组中没有匹配结果时返回的值。
返回值
FILTER 函数返回一个数组。
函数说明
- array 可以作为一行值、一列值或行列值的组合提供。
- include 的维度应等于 array 参数的维度。
- 要在 include 中添加两个或多个条件,应将每个条件用括号括起来并用星号(*)连接。
- FILTER 返回的结果会溢出到单元格区域中,方式与您的原始 array 数据组织方式相同。如果溢出区域中的一个或多个单元格不为空,则会返回 #SPILL! 错误。
- 如果作为 include 参数提供的任何值是错误或无法转换为布尔值,FILTER 将返回错误。
- include 或 if_empty 参数中的文本值应使用双引号括起来。否则,FILTER 将返回 #NAME? 错误。
- 如果没有匹配的数据并且希望显示为空白,请为 if_empty 提供空字符串("")。
- 如果没有匹配的数据且未提供 if_empty 的值,FILTER 将返回 #CALC! 错误。
- FILTER 可用于不同的工作簿之间。但是,请确保引用的工作簿处于打开状态。否则,刷新结果单元格时将返回 #REF! 错误。
- FILTER 的结果是动态的,这意味着当源数据中的值发生变化时,它们会自动更新。但是,如果您向 array 添加新条目,结果将不会更新。为了解决这个问题,您应该使用 结构化引用 作为 array 参数。
示例
假设您有如下所示的学生表,要筛选出来自 A 班且得分超过 60 分的学生,请将以下公式复制或输入到结果表左上角的单元格中,然后按 Enter 键获取结果:
=FILTER(B3:E14,(B3:B14="A 班")*(E3:E14>60),"无记录")
或者,使用单元格引用来使公式具有动态性:
=FILTER(B3:E14,(B3:B14=H3)*(E3:E14>J3),"无记录")
无匹配项的示例
假设您想筛选出 A 班且得分低于 60 分的学生(显然没有任何分数低于 60),要将结果显示为无内容或特定文本字符串,您可以复制以下公式并按 Enter 键查看结果。
=FILTER(B3:E14,(B3:B14="A 班")*(E3:E14<60),"") >>> 返回 无内容
=FILTER(B3:E14,(B3:B14="A 班")*(E3:E14<60),"无记录") >>> 返回 无记录
相关函数
SORT 函数按照升序或降序对范围或数组的内容进行排序。
SORTBY 函数基于对应范围或数组中的值对一个范围或数组的内容进行排序,无论该对应范围或数组是否包含在要排序的范围或数组中。
UNIQUE 函数从数据范围中提取唯一值。数据可以包括文本、数字、日期、错误值等。
最佳的办公生产力工具
Kutools for Excel - 助您脱颖而出
🤖 | Kutools AI 助手:基于智能执行革新数据分析:智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 无需公式四舍五入 ... | |
超级 VLookup:多条件 | 多值 | 跨多表 | 模糊查找... | |
高级下拉列表:简易下拉列表 | 级联下拉列表 | 多选下拉列表... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较列以 选择相同和不同单元格 ... | |
特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...) ... | |
排名前 15 的工具集:12 个文本工具(添加文本,删除特定字符 ...) | 50+ 种图表 类型(甘特图 ...) | 40+ 实用 公式(基于生日计算年龄 ...) | 19 个插入工具(插入二维码,从路径插入图片 ...) | 12 个转换工具(小写金额转大写,汇率转换 ...) | 7 个合并和拆分工具(高级合并行,拆分 Excel 单元格 ...) | ... 更多功能 |
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!
Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...
Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑
- 一秒内在数十个打开的文档之间切换!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,您的生产力可提升 50%。
- 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。