FILTER条件筛选
按条件筛出一批数据,结果自动展开。
1
语法结构
FILTER(数据区域, 条件, [无结果时显示])
数据区域条件无结果时显示方括号 [ ] 表示可选参数
返回:数组:符合条件的整行数据
2
什么时候用它
3
动画演示
动画演示·原始数据第 1 / 3 步
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 姓名 | 部门 | 金额 | ||||
| 2 | 张三 | 销售部 | 1200 | 张三 | 销售部 | 1200 | |
| 3 | 李四 | 技术部 | 800 | 王五 | 销售部 | 1500 | |
| 4 | 王五 | 销售部 | 1500 | 孙七 | 销售部 | 1100 | |
| 5 | 赵六 | 900 | |||||
| 6 | 孙七 | 销售部 | 1100 |
STEP 1
逐行判断 B 列是不是销售部
3 行:TRUE
4
示例演示
E2 : =FILTER(A2:C6,B2:B6="销售部","无记录")
=FILTER(A2:C6,B2:B6="销售部","无记录") 溢出 3 行明细
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 姓名 | 部门 | 金额 | ||||
| 2 | 张三 | 销售部 | 1200 | 张三 | 销售部 | 1200 | |
| 3 | 李四 | 技术部 | 800 | 王五 | 销售部 | 1500 | |
| 4 | 王五 | 销售部 | 1500 | 孙七 | 销售部 | 1100 | |
| 5 | 赵六 | 900 | |||||
| 6 | 孙七 | 销售部 | 1100 |
当前表:原始数据 · 公式单元格 E2 · 绿色底为公式,蓝色底为动态数组溢出结果
5
常见错误
现象#CALC!
原因一条都没筛到且没写第 3 个参数
解决补上 "无记录" 之类的兜底
现象#VALUE!
原因条件区域和数据区域行数不一致
解决两者保持同样的行范围
现象#SPILL!
原因结果要展开的位置有内容
解决清空下方和右侧的单元格
6
相关公式
动手试一试
在编辑器里载入这个公式的示例数据,改改数字看看结果怎么变。