Microsoft Lab
全部软件
Excel筛选(Filter)约 5 分钟

FILTER Function FILTER 函数

重点内容


适用版本

需要 Excel 365 或 Excel 2021(旧版本没有 FILTER 函数)。


基础用法

示例数据:一份含 Country(国家)等字段的记录表。

  1. 在 F2 输入 =FILTER(A2:D15,C2:C15="US")
    • 第一参数是要返回的数据范围
    • 第二参数是条件:C 列(国家)等于 "US"
  2. 结果自动溢出(spilling)到多个单元格,显示所有 Country = US 的记录
📷 画面提示

FILTER 公式结果自动溢出,显示所有 Country = US 的记录

改成 =FILTER(A2:D15,C2:C15="UK") 会动态变成显示所有 UK 的记录——这是「动态」的意思:只要改条件或原始数据变化,结果会自动更新。


处理「找不到符合条件的记录」

  1. 加第三个参数指定找不到时要显示的信息,避免公式直接报 #CALC! 错误:
    =FILTER(A2:D15,C2:C15="FR","No records found")

AND 还是 OR,怎么选

逻辑连接符例子
AND(同时满足)乘号 *销售额大于 10000 且国家是 US
OR(满足其一)加号 +姓氏是 Smith 或 Brown

AND 逻辑(多条件同时满足)

  1. 用乘号 * 连接多个条件,代表「同时满足」:
    =FILTER(A2:D15,(B2:B15>10000)*(C2:C15="US"))

结果:只显示销售额大于 10000 且 国家是 US 的记录。


OR 逻辑(满足其中一个条件即可)

  1. 用加号 + 连接多个条件,代表「满足其一」:
    =FILTER(A2:D15,(D2:D15="Smith")+(D2:D15="Brown"))

结果:显示姓氏是 Smith 或 Brown 的记录。


搭配 SORT 函数

  1. 把 FILTER 的结果再包一层 SORT,筛选完顺便排序:
    =SORT(FILTER(A2:D15,C2:C15="US"))

📌 SORT 默认按第一列、升序排列。


函数速查

函数语法用途例子
FILTER=FILTER(array, include, [if_empty])按条件筛选记录,结果自动溢出=FILTER(A2:D15,C2:C15="US")
SORT=SORT(array)对筛选结果排序=SORT(FILTER(A2:D15,C2:C15="US"))

学完你会

常见错误

  • AND 和 OR 逻辑用反:AND 要用乘号 *,OR 要用加号 +,写反了结果会完全不对
  • 没加第三参数处理「找不到记录」的情况,遇到没有符合条件记录时公式直接报 #CALC! 错误,影响后续引用这个结果的其他公式
  • 在 FILTER 公式的溢出范围内插入其他内容,导致 #SPILL! 错误

Sources

Blog / Website:

  1. FILTER function
只记在你的浏览器里,换设备不会同步。