如何使用Excel FILTER 函数

如何使用Excel FILTER 函数

Office 365 带来了一些很棒的功能,例如XLOOKUP、SORT 和FILTER。

在Excel 中过滤数据时,在Office 365 之前的世界中,我们主要依赖Excel 内置过滤器或最多高级过滤器或复杂的SUMPRODUCT 公式。如果您必须过滤数据集的一部分,这通常是一个复杂的解决方法。

但是有了新的FILTER 功能,现在真的很容易根据条件快速过滤部分数据集。

在本教程中,我将向您展示新的FILTER 功能有多棒,以及您可以用它做的一些有用的事情。

但在我进入示例之前,让我们快速了解一下FILTER 函数的语法。

如果您想在Excel 中获得这些新功能,您可以升级到Office 365(加入内部计划以访问所有功能/公式)

Excel 筛选函数– 语法

下面是FILTER 函数的语法:

=过滤器(数组,包括,[if_empty])
  • 排列 – 这是您拥有数据并希望从中过滤一些数据的单元格范围
  • 包括 – 这是告诉函数要过滤哪些记录的条件
  • [如果_空] – 这是一个可选参数,您可以在其中指定在FILTER 函数未找到结果时返回的内容。默认情况下(未指定时),它返回#CALC!错误
相关问题  在Excel 处理日期,获取日期名称(简单公式)

现在让我们看看一些令人惊叹的过滤器函数示例和它可以做的事情,这些事情在没有它的情况下曾经非常复杂。

示例1:根据一个条件(区域)过滤数据

假设您有一个如下所示的数据集,并且您只想过滤美国的所有记录。

使用Excel FILTER 函数的数据集

下面是执行此操作的FILTER 公式:

=FILTER($A$2:$C$11,$B$2:$B$11="US")

根据区域过滤数据

上式以数据集为数组,条件为$B$2:$B$11=”US”

此条件将使FILTER 函数检查B 列中的每个单元格(具有该区域的单元格),并且仅过滤与此条件匹配的那些记录。

此外,在此示例中,我将原始数据和过滤后的数据放在同一张工作表上,但您也可以将它们放在单独的工作表甚至工作簿中。

过滤函数返回一个动态数组的结果(这意味着它不是返回一个值,而是返回一个溢出到其他单元格的数组)。

为此,您需要有一个结果为空的区域。在该区域中的任何单元格(本例中的E2:G5)中已经有一些东西,该函数会给你#SPILL 错误。

此外,由于这是一个动态数组,您不能更改结果的一部分。您可以删除具有结果的整个区域或单元格E2(输入公式的位置)。这两个都会删除整个结果数组。但是您不能更改任何单个单元格(或删除它)。

在上面的公式中,我对区域值进行了硬编码,但您也可以将它放在一个单元格中,然后引用具有该区域值的那个单元格。

例如,在下面的示例中,我在单元格I2 中有区域值,然后在公式中引用它:

=FILTER($A$2:$C$11,$B$2:$B$11=I1)

这使公式更加有用,现在您只需更改单元格I2 中的区域值,过滤器就会自动更改。

您还可以在单元格I2 中有一个下拉菜单,您可以在其中简单地​​进行选择,它会立即更新过滤的数据。

示例2:根据一个标准(大于或小于)过滤数据

您还可以在过滤器函数中使用比较运算符并提取大于或小于特定值的所有记录。

例如,假设您有如下所示的数据集,并且您想要过滤所有销售额超过10000 的记录。

使用Excel FILTER 函数的数据集

下面的公式可以做到这一点:

=FILTER($A$2:$C$11,($C$2:$C$11>10000))

根据销售额过滤数据

数组参数指的是整个数据集,在这种情况下,条件是($C$2:$C$11>10000)。

该公式检查C 列中的值的每条记录。如果该值大于10000,则将其过滤,否则将其忽略。

如果您想获取所有小于10000 的记录,可以使用以下公式:

=FILTER($A$2:$C$11,($C$2:$C$11<10000))

您还可以使用FILTER 公式获得更多创意。例如,如果要根据销售额筛选前三名记录,可以使用以下公式:

=FILTER($A$2:$C$11,($C$2:$C$11>=LARGE(C2:C11,3)))

根据销售价值过滤前3 个结果

上面的公式使用LARGE 函数得到数据集中第三大的值。然后在FILTER 函数条件中使用该值来获取销售额大于或等于第三大值的所有记录。

示例3:使用多个条件(AND) 过滤数据

假设您有以下数据集,并且您想要过滤销售价值超过10000 的美国的所有记录。

相关问题  Windows 10 的搜索栏无法输入[已修复]

使用Excel FILTER 函数的数据集

这是一个AND 条件,您需要检查两件事– 地区需要到美国,销售额需要超过10000。如果只满足一个条件,则不应过滤结果。

下面是过滤器公式,它将过滤以美国为地区且销售额超过10000 的记录:

=FILTER($A$2:$C$11,($B$2:$B$11="US")*($C$2:$C$11>10000))

根据地区和销售额过滤

請注意,標準(稱為包含參數)是 ($B$2:$B$11=”US”)*($C$2:$C$11>10000)

由于我使用了两个条件并且我需要两者都为真,因此我使用了乘法运算符来组合这两个条件。这将返回一个由0 和1 组成的数组,其中只有两个条件都满足时才返回1。

如果没有符合条件的记录,该函数将返回#CALC!错误。

如果你想返回一些有意义的东西(而不是错误),你可以使用如下所示的公式:

=FILTER($A$2:$C$11,($B$2:$B$11="USA")*($C$2:$C$11>10000),"Nothing Found")

在这里,我使用了“未找到”作为第三个参数,当没有找到符合条件的记录时使用它。

示例4:使用多个标准(OR) 过滤数据

您还可以修改FILTER 函数中的“包含”参数以检查OR 条件(其中任何一个给定条件都可以为真)。

例如,假设您有如下所示的数据集,并且您想要过滤国家/地区为美国或加拿大的记录。

使用Excel FILTER 函数的数据集

下面是执行此操作的公式:

=FILTER($A$2:$C$11,($B$2:$B$11="US")+($B$2:$B$11="Canada"))

根据区域OR 条件过滤

请注意,在上面的公式中,我只是使用加法运算符将两个条件相加。由于这些条件中的每一个都返回一个TRUE 和FALSE 数组,因此我可以添加一个组合数组,如果满足任何一个条件,它就为TRUE。

另一个示例可能是当您想要过滤国家/地区为美国或销售价值超过10000 的所有记录时。

下面的公式将做到这一点:

=FILTER($A$2:$C$11,($B$2:$B$11="US")+(C2:C11>10000))

注意:在FILTER 函数中使用AND 条件时,使用乘法运算符(*),在使用OR 条件时,使用加法运算符(+)。

示例5:过滤数据以获取高于/低于平均水平的记录

您可以使用FILTER 函数中的公式来过滤和提取值高于或低于平均值的记录。

例如,假设您有如下所示的数据集,并且您想要过滤销售价值高于平均水平的所有记录。

使用Excel FILTER 函数的数据集

您可以使用以下公式执行此操作:

=FILTER($A$2:$C$11,C2:C11>AVERAGE(C2:C11))

过滤高于平均水平的记录

同样,对于低于平均水平,您可以使用以下公式:

=FILTER($A$2:$C$11,C2:C11<AVERAGE(C2:C11))

示例6:仅过滤偶数记录(或奇数记录)

如果您需要快速过滤和提取偶数行或奇数行中的所有记录,您可以使用FILTER 函数来完成。

为此,您需要检查FILTER 函数中的行号,并且只过滤符合行号条件的行号。

假设您有如下所示的数据集,并且我只想从该数据集中提取偶数记录。

使用Excel FILTER 函数的数据集

下面是执行此操作的公式:

=FILTER($A$2:$C$11,MOD(ROW(A2:A11)-1,2)=0)

过滤所有偶数行

上面的公式使用MOD 函数来检查每条记录的行号(由ROW 函数给出)。

相关问题  新闻和兴趣- Windows 10 中的功能和设置

公式MOD(ROW(A2:A11)-1,2)=0 在行号为偶数时返回TRUE,在奇数时返回FALSE。请注意,我已从ROW(A2:A11) 部分中减去1,因为第一条记录位于第二行中,这会调整行号以将第二行视为第一条记录。

同样,您可以使用以下公式过滤所有奇数记录:

=FILTER($A$2:$C$11,MOD(ROW(A2:A11)-1,2)=1)

示例7:使用公式对过滤后的数据进行排序

将FILTER 函数与其他函数一起使用可以让我们完成更多工作。

例如,如果您使用FILTER 函数过滤数据集,则可以使用SORT 函数来获取已排序的结果。

假设您有一个如下所示的数据集,并且您想要过滤所有销售额超过10000 的记录。您可以将SORT 函数与该函数一起使用,以确保根据销售额对结果数据进行排序。

使用Excel FILTER 函数的数据集

下面的公式将做到这一点:

=SORT(FILTER($A$2:$C$11,($C$2:$C$11>10000)),3,-1)

使用Excel 中的SORT 和FILTER 函数对数据进行排序和筛选

上面的函数使用FILTER 函数来获取C 列中销售额大于10000 的数据。然后在SORT 函数中使用FILTER 函数返回的这个数组,根据销售额对这些数据进行排序。

SORT 函数中的第二个参数是3,即根据第三列进行排序。第四个参数是-1,即按降序对这些数据进行排序。

所以这些是在Excel 中使用FILTER 函数的7 个示例。

希望您发现本教程有用

哦,您好 👋很高兴认识你。

订阅我们的电子报,定期发送很棒的科技内到您的邮

发表评论