Excel 过滤函数

Excel 过滤函数

过滤选项是Excel中经常使用的功能之一。用户通常使用自动筛选来过滤数据,在更复杂的数据问题中使用高级筛选。虽然这些方法快速且强大,但它们并不具有动态性。简单来说,一旦原始数据发生任何变化,这些方法就不会自动更新。因此,您需要取消过滤,更改数据,然后再次应用过滤。这样非常耗时。

为了解决这个缺点,Excel引入了备受期待的替代方案,即 Excel 365中的FILTER函数 。与先前的方法不同, Excel的FILTER()函数在每次工作表更改时会自动重新计算数据 ,简化了您的任务,现在您只需要设置一次过滤器!

过滤函数是什么

Excel FILTER函数用于根据给定的条件过滤数值范围或数组。该函数返回一个包含从原始范围中自动溢出到一系列单元格的数值的输出。

FILTER函数生成动态输出。当原始数据中的数值发生变化或原始数据数组的大小改变时,FILTER函数会自动更新输出结果。此外,该函数的结果将在Excel表格中的各个单元格中“溢出”。过滤函数属于动态数组函数组。

FILTER函数的主要作用是通过提供一个或多个逻辑测试(或条件)从给定数据集中提取匹配的数值。逻辑测试使用“包含”参数应用,它可以容纳各种类型的公式条件。例如,FILTER可以匹配特定员工表中的数据,并提取所有销售额低于350,000印度卢比(或任何其他指定阈值值)的员工姓名。

注意:FILTER()函数仅适用于最新版本的Excel,即Office 365订阅和Excel 2021。因此,与Excel 2019、Excel 2016和所有其他早期版本不同,不支持此函数。

语法

参数

  • Array(必需) - 此参数表示您希望过滤的Excel工作表中的单元格范围或数值数组。
  • Include(必需) - 此参数表示要应用于数组的条件。它可以作为布尔数组(TRUE和FALSE值)提供。例如 (B2:B6)>2是一个布尔条件 ,其中我们指定了只有当范围B2:B6的值大于2时,过滤函数才会提取数据。
  • If_empty(可选) - 此参数表示当没有满足条件的情况下要返回的值。通常包括自定义用户消息,例如”未找到值”,但您也可以提供其他值。如果不传递任何值给该参数,它将采用空字符串(””)作为默认值并返回空值。

Excel FILTER函数的注意事项

以下是一些重要的要点,可帮助您在Excel工作表中有效应用FILTER函数:

  • FILTER函数会分析标准,并根据标准自动水平或垂直地输出结果,这取决于Excel工作表中源数据的排列方式。因此,请记住在单元格下方和右侧留有足够的空单元格;否则,Excel将显示#SPILL错误。
  • FILTER函数生成动态输出,这意味着原始数据中的值发生变化,或者如果原始数据数组的大小发生变化,FILTER函数将自动更新输出结果。但是,当向原始数据添加新值时,参数“array”提供的范围不会更新。但是,如果您想自动调整数组参数的大小,您必须将其转换为Excel表格或创建一个动态命名区域。

示例1:从下方的Excel表中筛选出分数大于50的学生姓名。

Excel 过滤函数

按照以下步骤解决上述问题:

步骤1:选择一个单元格

选择一个您想要放置筛选数据的单元格。始终确保您所选择的单元格右边和下方有足够的空单元格,因为它可能根据您的原始数据包含多个值。

如下图所示, 这里我们选择了单元格E5

Excel 过滤函数

步骤2:输入公式,即= Filter(

选择空白单元格(E5)后,只需输入公式: = Filter(

它将类似于下面的图像:

Excel 过滤函数

步骤3:输入您希望转置的单元格或数组的范围

下一步是输入(或选择)您希望过滤的单元格或数组的范围。虽然您可以通过拖动鼠标光标来选择一组原始单元格,而不是输入。

在这个例子中,原始单元格位于B4到B9。因此我们的公式变成: =FILTER(B4:C9) 看起来类似下面的图像:

Excel 过滤函数

步骤4:输入条件

我们将转到下一个参数(条件),所以首先我们要放一个逗号(,)。在这里,我们需要过滤分数大于50的学生的姓名。所以我们的条件是Score(单元格范围)> 50。

在这个例子中,分数单元格的位置是从C4到C9。因此我们的公式变为: **=FILTER(B4:C9, C4:C9 > 50) ** 看起来类似于下面的图片:

Excel 过滤函数

步骤4:在第三个参数中填写值(尽管这一步是可选的)

在这个参数中,我们将输入一个自定义的用户消息,例如“抱歉!未找到记录”,但您也可以提供其他值。如果您在这个参数中不传递任何值,它将采用空字符串(””)作为默认值,并返回空。

因此,我们的公式变为: =FILTER(B4:C9, C4:C9 > 50, “抱歉!未找到记录”) 它将类似于下面的图像:

Excel 过滤函数

步骤5:按Enter键,Excel将给出过滤后的输出

一旦您按下Enter键,您将会在面前看到过滤后的记录。

在我们的案例中,我们有三个字段的分数大于50。并且我们收到了相同的三个字段。

Excel 过滤函数

示例2:在Excel中使用两个条件过滤多个列

Excel 过滤函数

这是我们基本Filter()函数的扩展。在这个例子中,我们将学习如何在两个不同的列上应用两个条件,并筛选出我们的数据。

按照下面的步骤解决上述问题:

步骤1:选中一个单元格

选择一个单元格,您要在其中放置过滤数据。如下图所示,在 我们选择了单元格F7

Excel 过滤函数

步骤2:输入公式并输入要筛选的单元格范围

下一步是输入筛选函数并选择要筛选的单元格范围。在我们的例子中,原始单元格位于B3到D12的位置。因此,我们的公式变为: =FILTER(B3:D12

它将类似于下面的图像:

Excel 过滤函数

步骤3:应用第一个准则

首先,我们将设置准则来指定群组。为此,我们已在单元格G4(准则1)中输入了目标群组名称。因此,我们将检查C3:C12范围内的任何值是否等于G4。公式如下:

=FILTER(B3:D12, (C3:C12=G4),

Excel 过滤函数

步骤4:应用第二个条件并使用AND(*)运算符将它们组合起来

在第二个条件中,我们将指定所需的最小获胜次数在单元格G5中(criteria2)。我们将再次检查D3:D12之间的值是否等于G5。然后使用AND运算符将条件1和条件2组合起来,我们将使用逻辑表达式AND,即’ * ‘。公式如下:

=FILTER(B3:D12, (C3:C12=G4)*(D3:D12= G5), “没有结果”)

Excel 过滤函数

注意:在使用“AND”或“*”逻辑运算符时,只有在两个条件都满足时,才会提取数据条目。如果有任何条目的条件不满足,则会被过滤掉。

步骤5:按下回车键获取输出

Excel将为您过滤条目,并从A组中获取获得超过2次胜利的候选人列表。

它将类似于下面的图像:

Excel 过滤函数

示例3:使用多个条件的Excel筛选函数(使用AND和OR逻辑)

Excel 过滤函数

您还可以实现”筛选”功能以获得符合多个条件的数据。通常,当我们想在公式中应用多个条件时,我们会使用OR和AND条件。与前面的示例不同,我们使用了AND(*)的逻辑表达式,但在许多情况下还需要将它们添加(使用+逻辑表达式)。

在“与”或“*”逻辑运算符的情况下,只有在两个条件都为TRUE时才会提取数据条目。如果任何条目的条件为FALSE,则它们将被过滤掉。

在“或”或“+”逻辑运算符的情况下,如果两个条件都不满足,则结果数组将返回0并显示为False。如果任何一个指定的条件为TRUE,它将提取该条目的数据。

按照以下步骤解决上述问题:

步骤1:选择单元格

选择要放置筛选数据的单元格。如下图所示,在这里我们选择了单元格F8。

Excel 过滤函数

步骤2:输入公式并输入单元格范围

接下来,我们将输入筛选函数并输入范围。在我们的例子中,原始单元格位于B3到D12之间。因此我们的公式变为: =FILTER (B3: D12 .

它将类似于下面的图片:

Excel 过滤函数

步骤3:应用第一个条件

首先,我们将设置条件来指定组。为此,我们在单元格G4(条件1)中输入了目标组名称。因此,我们将检查范围C3:C12之间的任何值是否等于G4。公式如下所示:

=FILTER(B3:D12,((C3:C12=G4)

Excel 过滤函数

步骤4:应用第二个条件,并使用’+’ (OR) 运算符组合第一和第二个条件。

接下来,我们将为 C 组指定条件。我们将在原始范围中检查范围 C3:C12 内的任何值是否等于 G5。

这次的公式不会在这里结束,因为我们将使用’+’ (OR) 运算符将条件1和条件2组合在一起。如果至少有一个条件为TRUE,则它将返回该条目。

公式如下:

=FILTER(B3:D12,((C3:C12=G4)+(C3:C12=G5)

Excel 过滤函数

步骤5: 应用第三个准则,并使用’*’(AND)操作符将其与其他准则组合。

在第三个准则中,我们将指定在G6单元格中所需的最小获胜次数(准则3)。同样地,我们将检查D3:D12之间的值是否等于2。然后,将准则3与其他两个准则结合使用AND操作符,并使用逻辑表达式AND,即’*’。公式如下:

=FILTER(B3:D12,((C3:C12=G4)+(C3:C12=G5)) *(D3:D12=2),”无结果”)

Excel 过滤函数

步骤6:按下回车键以获取输出

Excel将根据指定的条件进行筛选条目,并为您获取输出。

它将类似于下面的图片:

Excel 过滤函数

FILTER函数在Excel中不起作用

在使用Excel FILTER公式时,很多时候可能会遇到以下错误之一。让我们看看为什么会发生这些错误以及如何修复它们:

#CALC!错误

如果您省略了可选的if_empty参数,并且函数无法获取任何输出,因为没有一个值满足条件,则会出现此错误。造成此错误的主要原因是Excel工作表不支持空数组。

要修复#CALC!错误,请确保在定义Excel FILTER函数时始终在可选的if_empty参数中指定值。

#VALUE错误

如果在数组和include参数中输入了不兼容的维度,您可能会遇到此错误。

为了避免此类错误,始终确保在FILTER参数中输入有效值。

#N/A,#VALUE,等等

在使用FILTER函数时,您可能会遇到这些不同类型的错误。这些错误可能发生的主要原因是在include参数中输入了无法转换为布尔值(TRUE或FALSE)的无效值。

始终记住在include参数中包含一个可以转换为布尔值的条件。

#NAME错误

当您在不支持FILTER函数的旧版本中实施FILTER函数时,会出现#NAME错误。始终确保仅在最新的Excel版本(即Office 365和Excel 2021)中使用此函数。

如果错误拼写了函数的名称,您还可能在新的Excel版本中遇到此错误。

#SPILL错误

如果溢出范围中的一个或多个单元格具有某些值并且不为空,则可能会出现此错误。

要避免此错误,您只需要清除或删除溢出范围中的数据。

#REF!错误

当您在不同工作簿之间使用FILTER函数,并且主要工作簿已关闭时,会出现#REF!错误。

恭喜!现在您已经简单了解了FILTER函数。继续使用Excel Filter函数对您的数据进行筛选吧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程