Excel FILTER 函数
最后修改于 2025 年 4 月 4 日
FILTER
函数是 Excel 中强大的动态数组函数。它根据指定条件筛选数据范围。本教程通过详细示例全面介绍 `FILTER` 函数的使用。您将学习基本语法、实际应用和高级技巧,以掌握这个重要的 Excel 函数。
FILTER 函数基础
FILTER
函数提取满足特定条件的数据。它在溢出范围内返回匹配值。该函数会自动调整以适应匹配结果的数量。
组成部分 | 描述 |
---|---|
函数名称 | FILTER |
语法 | =FILTER(array, include, [if_empty]) |
参数 | array:要筛选的数据 include:布尔数组 if_empty:未找到结果时返回的值 |
返回值 | 筛选后的值数组 |
此表分解了 `FILTER` 函数的关键组成部分。它展示了函数名称、基本语法格式、参数详细信息以及返回值特性。
基本 FILTER 示例
本示例演示了 FILTER 函数最简单的用法,使用基本条件来筛选数据。
A | B |
---|---|
Apple | 水果 |
胡萝卜 | 蔬菜 |
Banana | 水果 |
=FILTER(A1:A3, B1:B3="水果") |
该表显示了一个简单的包含项目和类别的数据集。FILTER 公式仅提取 B 列中标记为“水果”的项目。
=FILTER(A1:A3, B1:B3="Fruit")
此公式筛选范围 A1:A3,仅返回 B1:B3 中相应单元格等于“水果”的值。结果垂直溢出显示“苹果”和“香蕉”。这展示了 FILTER 的基本功能。
带有多重条件的 FILTER
FILTER 可以使用逻辑运算符处理多个条件。本示例演示了如何使用 AND 逻辑组合条件。
A | B | C |
---|---|---|
John | 销售额 | 5000 |
Sarah | 市场部 | 6000 |
Mike | 销售额 | 7000 |
=FILTER(A1:A3, (B1:B3="销售")*(C1:C3>5500)) |
该表演示了使用两个条件进行筛选:部门为“销售”且销售额超过 5500。乘法充当 AND 运算符。
=FILTER(A1:A3, (B1:B3="Sales")*(C1:C3>5500))
该公式从 A1:A3 中筛选出部门为“销售”(B 列)且销售额(C 列)超过 5500 的姓名。只有“Mike”满足这两个条件。星号 (*) 将条件与 AND 逻辑组合。
带 OR 逻辑的 FILTER
FILTER 可以通过将条件相加来实现 OR 逻辑。本示例展示了如何筛选满足两个条件之一的项目。
A | B | C |
---|---|---|
Red | 圆形 | 小 |
Blue | 方形 | 大 |
Green | 三角形 | 中等 |
=FILTER(A1:A3, (B1:B3="圆形")+(C1:C3="大")) |
该表显示了具有颜色和尺寸属性的形状。FILTER 公式返回是圆形或大的形状的颜色。
=FILTER(A1:A3, (B1:B3="Circle")+(C1:C3="Large"))
此公式筛选 A1:A3 中形状为“圆形”(B 列)或尺寸为“大”(C 列)的项目。加号 (+) 将条件与 OR 逻辑组合。结果包括“红色”和“蓝色”。
带 if_empty 参数的 FILTER
可选的 if_empty 参数指定在没有项目满足条件时返回什么。这可以防止空结果出现错误。
A | B |
---|---|
北方 | 100 |
南方 | 200 |
东区 | 150 |
=FILTER(A1:A3, B1:B3>250, "无匹配项") |
该表演示了 if_empty 参数的实际应用。由于 B1:B3 中没有值大于 250,因此公式返回指定的消息而不是错误。
=FILTER(A1:A3, B1:B3>250, "No matches")
此公式尝试筛选 B1:B3 中值大于 250 的区域(A1:A3)。由于不存在匹配项,它返回“无匹配项”而不是 #CALC! 错误。这使得工作表更加用户友好。
带有多列的 FILTER
FILTER 可以从源数据中返回多列。本示例展示了如何一次筛选和显示多个相关列。
A | B | C |
---|---|---|
产品1 | 电子产品 | 50 |
产品2 | 家具 | 120 |
产品3 | 电子产品 | 75 |
=FILTER(A1:C3, B1:B3="电子产品") |
该表包含产品数据,包括名称、类别和价格。FILTER 公式返回电子产品的所有列,创建多列结果。
=FILTER(A1:C3, B1:B3="Electronics")
此公式筛选整个表(A1:C3),查找类别(B1:B3)为“电子产品”的行。结果在垂直和水平方向上溢出,显示匹配项的产品名称、类别和价格。
带日期的 FILTER
FILTER 在处理日期条件方面效果很好。本示例演示了根据日期范围筛选记录。
A | B |
---|---|
任务1 | 1/15/2023 |
任务2 | 2/20/2023 |
任务3 | 3/10/2023 |
=FILTER(A1:A3, (B1:B3>=DATE(2023,2,1))*(B1:B3<=DATE(2023,2,28))) |
该表显示了带有日期的任务。FILTER 公式提取落在 2023 年 2 月内的任务,演示了基于日期的筛选。
=FILTER(A1:A3, (B1:B3>=DATE(2023,2,1))*(B1:B3<=DATE(2023,2,28)))
此公式筛选 2023 年 2 月的任务(A1:A3)的日期(B1:B3)。DATE 函数创建范围边界。只有“任务2”落在该时间段内。此技术对于基于时间的 Olap 分析非常有用。
FILTER
函数彻底改变了 Excel 中的数据提取。从简单的单列筛选到跨多列的复杂多条件查询,FILTER 都能动态处理。掌握 FILTER 将显著提高您OlanySIS 数据分析能力。请记住,FILTER 会自动溢出结果,并与其他动态数组函数无缝协作。
作者
列出 所有 Excel 公式。