FILTER

FILTER 函数可以基于定义的条件筛选一系列数据。

在以下示例中,我们使用公式 =FILTER(A5:D20,C5:C20=H2,"") 返回包含“苹果”(如单元格 H2 中所选定)的所有记录,如果没有“苹果”,则返回空字符串 ("")。

语法

FILTER 函数基于布尔值 (True/False) 数组筛选数组。

=FILTER(array,include,[if_empty])

参数

描述

array

必需

要筛选的数组或区域

include

必需

布尔值数组,其高度或宽度与数组相同

[if_empty]

可选

所含数组中的所有值都为空(筛选器不返回任何内容)时返回的值

注意: 

示例

用于返回多个条件的 FILTER

在此示例中,我们使用乘法运算符 (*),以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值:=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")

用于返回多个条件并排序的 FILTER

在此示例中,我们配合使用之前的 FILTER 函数和 SORT 函数,以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值,

然后对 Units 进行降序排序:=SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)

在此示例中,我们配合使用 FILTER 函数和加法运算符 (+),以返回数组范围 (A5:D20) 中包含“苹果”位于东部区域的所有值,

然后对 Units 进行降序排序:=SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)

请注意,这些函数都不需要绝对引用,因为它们仅存在于一个单元格中,并将其结果溢出到相邻单元格。

 

相关功能

查找与引用函数

INDEX

LOOKUP

HLOOKUP

MATCH