网站搜索

如何在 Microsoft Excel 中使用 FILTER 函数


摘要:

要使用 FILTER 函数,只需输入您的条件的数组和范围。为避免空筛选结果出现 Excel 错误,请使用第三个可选参数来显示自定义指标。

Microsoft Excel 提供内置筛选器功能以及使用高级筛选器的选项。但是,如果您想按多个条件进行筛选甚至对结果进行排序,请查看 Excel 中的 FILTER 函数。

使用 FILTER 函数,您可以使用“and”和“or”运算符来组合条件。作为奖励,我们将向您展示如何将 SORT 函数应用于公式以按特定列按升序或降序显示结果。

Excel中的FILTER函数是什么?

公式的语法是 FILTER(array, range=criteria, if_empty),其中只需要前两个参数。您可以使用单元格引用、数字或引号中的文本作为条件,具体取决于您的数据。

如果您的数据集可能返回空结果,请使用第三个可选参数,因为它会显示 #CALC!默认错误。要替换错误消息,您可以在引号中包含文本、字母或数字,或者只需将引号留空作为空白单元格。

如何创建基本过滤器公式

首先,我们将从一个基本过滤器开始,以便您了解该功能的工作原理。在每个屏幕截图中,您会在右侧看到我们的过滤结果。

要使用单元格 B2(电子)的内容作为条件过滤单元格 A2 到 D13 中的数据,公式如下:

=FILTER(A2:D13,B2:B13=B2)

要分解公式,您会看到 array 参数是 A2:D13,range=criteria 参数是 B2:B13=B2。这将返回包含 Electronics 的所有结果。

另一种编写公式的方法是在引号中输入单元格 B2 的内容,如下所示:

=FILTER(A2:D13,B2:B13="Electronics")

您还可以使用来自另一个单元格的条件来过滤 range=criteria 区域中的数据。在这里,我们将使用单元格 B15 中的数据。

=FILTER(A2:D13,B2:B13=B15)

如果您的数据包含数字,您可以将其用作不带引号的条件。在此示例中,我们将使用相同的单元格范围,但按单元格 D2 到 D13 进行筛选以查找 10。

=FILTER(A2:D13,D2:D13=10)

如果您没有收到公式的任何结果或看到#CALC!错误,您可以使用第三个参数 if_empty。例如,如果结果为空,我们将显示 None。

=FILTER(A2:D13,D2:D13=75,"None")

如您所见,range=criteria 数据不包括 75,因此,我们的结果为 None。

在 FILTER 函数中使用多个条件进行过滤

Excel 中 FILTER 函数的一个优点是您可以按多个条件进行过滤。您将包括 AND (*) 或 OR (+) 的运算符。

例如,我们将使用星号 (*) 和以下公式按 A3(西部)和 B2(电子)过滤我们的数据集:

=FILTER(A2:D13,(A2:A13=A3)*(B2:B13=B2))

如您所见,我们有一个结果同时包括 West 和 Electronics。

要使用其他运算符,我们将使用加号 (+) 筛选 A3 或 B2,如下所示:

=FILTER(A2:D13,(A2:A13=A3)+(B2:B13=B2))

现在,您可以看到我们的结果包含 West 或 Electronics 的五条记录。

如何在 Excel 中对过滤后的数据进行排序

如果要对从 FILTER 函数收到的结果进行排序,可以将 SORT 函数添加到公式中。这只是使用“数据”选项卡上的“排序”功能的替代方法,但不需要您重新定位数据。

在试用之前,如需了解有关 SORT 功能的更多信息,请查看我们的操作指南以获取完整详细信息。

在这里,我们将使用本教程开头的基本过滤器:FILTER(A2:D13,B2:B13=B2)。然后,我们将添加 SORT 及其参数,以按降序 (-1) 对第四列(损失)进行排序:

=SORT(FILTER(A2:D13,B2:B13=B2),4,-1)

为了分解这个公式,我们将 FILTER 公式作为 SORT 函数的 array 参数。之后,我们有 4 按数据集中的第四列排序, -1 以降序显示结果。

要改为按升序显示结果,请将 -1 替换为 1

=SORT(FILTER(A2:D13,B2:B13=B2),4,1)

Excel 的内置过滤器非常适合快速查看数据集中的特定记录。高级过滤器适用于按适当的标准范围或其他位置进行过滤。但要同时使用多个条件和排序,请试一下 FILTER 函数。