前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

FILTER 筛选函数多场景应用_excel筛选多个条件函数

一、FILTER函数定义

在 Excel 中,FILTER函数用于根据指定条件筛选区域或数组,并返回符合条件的所有记录(行或列)。它是动态数组函数,结果会自动溢出到相邻单元格。

基本语法

=FILTER(数组, 包含条件的数组, [未找到匹配项时返回的值])

参数说明

  1. 数组(必需):
    要筛选的原始数据区域(可以是单行、单列或多行列区域)。
  2. 包含条件的数组(必需):
    用于判断的条件区域,其行数或列数必须与 “数组” 参数一致。条件可以是比较运算符(>, <, =, >=, <=, <>)可以使用逻辑运算符(AND、OR,但需用*表示AND,+表示OR)
  3. [未找到匹配项时返回的值](可选):
    当没有符合条件的结果时,返回指定内容(如文本"无结果"或空值"")。若省略,会返回#CALC!错误。

二、FILTER函数的应用

2.1FILTER函数单表查询

使用FILTER函数从测试数据中抓取对应销售人员的销售地区,并通过TRANPOSE转置函数实现对结果数据的水平呈现。

=TRANSPOSE(FILTER(B:B,A:A=D2,""))

使用FILTER函数从测试数据中抓取对应销售人员的销售地区,并通过TOROW函数实现对结果数据的水平呈现。

=TOROW(FILTER(B:B,A:A=D7,""))

使用FILTER函数从测试数据中抓取对应销售人员的销售地区,并通过TRANPOSE转置函数,再通过TEXTJOIN函数将结果数据合并到一个单元格中,查询数据通过分号隔开。

=TEXTJOIN(";",,TRANSPOSE(FILTER(B:B,A:A=D12,"")))

2.2 FILTER函数多表合并查询

sheet1、sheet2、sheet3分别存放着客户资料,案例通过VSTACK函数将3张表单数据拼接后,再通过查询函数查找符合条件的客户资料。

以下为对sheet1~sheet3表数据使用VSTACK函数拼接后,再通过FILTER函数嵌套使用查询匹配符合条件的客户资料。

=FILTER(VSTACK(Sheet1:Sheet3!B1:E100),VSTACK(Sheet1:Sheet3!A1:A100)=A18,"")

以下为对sheet1~sheet3表数据使用VSTACK函数拼接后,再通过VLOOK函数数组嵌套使用查询匹配符合条件的客户资料。

=VLOOKUP(A2,VSTACK(Sheet1:Sheet3!A1:E100),{2,3,4,5},0)

以下为对sheet1~sheet3表数据使用VSTACK函数拼接后,再通过XLOOKUP函数嵌套使用查询匹配符合条件的客户资料。

=XLOOKUP(A10,VSTACK(Sheet1:Sheet3!A1:A100),VSTACK(Sheet1:Sheet3!B1:E100),"")

2.3 FILTER函数过滤无用表头和空数据

下表为通过VSTACK函数从sheet1至sheet3表拼接的客户资料,从数据中存在重复的表头数据与空单元格带过来的显示为0的数据,本案例将使用FILTER函数过滤掉漂色的重复表头数据和空单元格带过来显示为0的数据。

=VSTACK(Sheet1:Sheet3!A1:E15)

图12为使用FILTER函数对图11 使用VSTACK函数对3表合并数据重复表头数据和空单元格带过来显示为0数据的过滤。

=FILTER(A:E,(A:A<>A1)*(A:A<>0))


2.4 总结

a、选择多表对应区域时,手指要按住键盘上的 Shift 键,二次框选数据区域(如:VSTACK(Sheet1:Sheet3!B1:E100));

b、当使用FILTER函数过滤源表单空单元格时,后面的过滤条件就应该为 <>""(图12)。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言