一、 FILTER 函数介绍
FILTER 函数,就像是一个过滤系统,支持对数据源进行有条件筛选,并返回过滤后的数据。在各行各业的数据查询和分析过程中,它都有着广泛的应用。
参数介绍
FILTER(数据范围, 筛选条件)
- 数据范围:一列或一组数据,支持选择多维表格中的数据表或字段;
- 筛选条件:对选定范围内的数据进行判断的条件,需结合 CurrentValue 设置;
二、操作流程
- 选择任意数据表,创建公式字段,输入 FILTER() 函数,按需求设置 数据范围 和 筛选条件,点击 确认。其中,数据范围应输入你期望被筛选的数据源,筛选条件应输入你期望以哪种方式筛选数据源。
250px|700px|reset
三、应用案例
- 查询并返回符合单个条件的值
场景:在销售业绩中查询单个销售人员的销售额
公式:[销售总表].FILTER(CurrentValue.[销售人员]="销售 001").[销售额]
说明:因为销售总表是 FILTER() 函数查询的数据源,所以使用 CurrentValue 进行源数据表引用时,需引用源数据表中的字段,而非当前数据表中的字段
250px|700px|reset
- 查询并返回不符合单个条件的值
场景:在销售业绩中查询商品类型不属于冰箱的销售额
公式:[销售总表].FILTER(CurrentValue.[商品名称]!="冰箱").[销售额]
说明:不符合条件的值,函数中经常使用 != 来表示不等号。在销售总表中使用 FILTER() 函数,使用 CurrentValue 进行源数据表引用时,需引用源数据表中的字段
250px|700px|reset
- 查询并返回指定多个条件的值
场景 1:在同一变量下筛选,例如在销售记录中,查找销售额在 100-500 之间的销售人员的姓名
公式 1:[销售总表].FILTER(AND(CurrentValue.[销售额]>100,CurrentValue.[销售额]<500)).[销售人员]
或公式 2:[销售总表].FILTER(CurrentValue.[销售额]>100&&CurrentValue.[销售额]<500).[销售人员]
说明:对同一变量进行指定条件筛选时,可以采用 AND() 公式,或二元运算符 && 来表示“且”的含义,采用嵌套公式的方式进行运算
250px|700px|reset
场景 2:在不同变量下筛选,例如在销售记录中,查找销售人员为“销售 001”,且销售商品类型为“电视”的销售额
公式:[销售总表].FILTER(AND(CurrentValue.[销售人员]="销售 001",CurrentValue.[商品名称]="电视")).[销售额]
说明:对不同变量进行指定条件筛选时,可以采用 AND() 函数嵌套的方式进行运算,此处 AND() 函数表示且逻辑
250px|700px|reset
场景 3:在不同变量下筛选,例如在销售记录中,查找销售额“大于 500”,或商品类型为“电视”的销售人员
公式:[销售总表].FILTER(OR(CurrentValue.[销售额]>500, CurrentValue.[商品名称]="电视")).[销售人员]
说明:对不同变量进行指定条件筛选时,可以采用 OR() 函数嵌套的方式进行运算,此处 OR() 函数表示或逻辑
250px|700px|reset
四、常见问题