EP03. “Advanced Filter 高级筛选”
🔒 登录后可标记已读- 一般的 AutoFilter 只能做「这列等于什么」这种单一条件叠加
- 遇到「A 国且第 4 季度」(AND)或「A 国第 4 季度 或 B 国第 1 季度」(OR)这类复杂逻辑,或要用公式当筛选条件,就需要 Advanced Filter(高级筛选)
- 这篇笔记教你怎么设置条件区域(criteria range)来实现 AND、OR 和公式筛选
- 前置知识是 EP01 的筛选基础
- 学完能处理任何 AutoFilter 做不到的复杂筛选逻辑
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
基本原理:条件区域(Criteria Range)
Advanced Filter 需要先在工作表空白处建一个「条件区域」——列标题要跟数据集里的列标题完全一致,条件区域跟数据集之间至少留一行空白,避免 Excel 把两者混在一起判断。
AND 还是 OR,怎么选
| 逻辑 | 条件区域写法 | 例子 |
|---|---|---|
| AND(同时满足) | 多个条件写在同一行 | US 且 Qtr 4 |
| OR(满足其一) | 多个条件写在不同行 | US 且 Qtr 4,或 UK 且 Qtr 1 |
AND 条件(同时满足多个条件)
示例:筛出「Country = US 且 Quarter = Qtr 4」的记录。
- 在数据集上方或旁边输入条件:一行标题(Country、Quarter 等),标题下方同一行填 US 和 Qtr 4
[截图:条件区域示例,Country 和 Quarter 两个条件填在标题下方同一行]
- 点击数据集内任意单元格
- Data → Sort & Filter → Advanced
- 「Criteria range」选取刚才建的条件区域(例如 A1:D2)
- 点击 OK
[截图:Advanced Filter 对话框,Criteria range 已选取条件区域]
结果:只显示 US 且 Qtr 4 的记录(两个条件同一行代表 AND,要同时满足)。
OR 条件(满足任一条件即可)
- 在条件区域新增一行,填第二组条件(比如 UK、Qtr 1),条件区域范围变成 A1:D3
- 重复上面 Advanced Filter 的步骤,Criteria range 选到 A1:D3
结果:显示「US 且 Qtr 4」或「UK 且 Qtr 1」的记录(不同行之间是 OR 逻辑)。
用公式当筛选条件
- 在数据集外新增一列,输入一条会返回 TRUE/FALSE 的公式(引用第一条记录的单元格,例如引用 B6),当作这一列的筛选条件
- 条件区域范围包含这个公式列,比如 A1:E3
- 执行 Advanced Filter,Criteria range 选到含公式的完整范围
📌 用公式当条件时,这个条件所在的表头不能跟数据集里任何一个列标题相同(可以留空或写别的字,比如 Formula),否则 Excel 会误判成一般条件。公式本身要用相对引用,指向数据集第一行对应的单元格。
其他选项
Advanced 对话框里还有两个常用选项:
- Copy to another location(复制到其他位置):把筛选结果复制到别处,不影响原数据显示
- Unique records only(仅显示唯一记录):配合筛选同时去重
学完你会
- ✅ 建条件区域,用 Advanced Filter 做 AutoFilter 做不到的 AND/OR 组合筛选
- ✅ 分清同一行是 AND、不同行是 OR,不再搞混
- ✅ 用公式当筛选条件,处理更灵活的判断逻辑
常见错误
- 条件区域跟数据集之间没留空白行,导致 Excel 把条件区域本身也当成数据的一部分
- AND / OR 逻辑写反——同一行是 AND(都要满足),不同行才是 OR(满足其一即可),很容易搞混
- 用公式做条件时,把公式表头写成跟数据集列名相同的文字,导致 Excel 误判成普通条件而不是公式条件
Sources
Blog / Website: