如何在 Excel 中应用多个筛选器:6 种方法
在执行这些步骤之前,请考虑以下数据集。此处提供15 个站点的名称及其类别。此外,访问量和新订阅者是根据日期和平台模式提供的。
现在我们将看到多个过滤器针对不同视角的应用。为了进行会议,我们使用 Microsoft 365 版本。那么,让我们开始吧。
方法 1 – 在 Excel 中的不同列中以简单的方式进行多个筛选如果您想获得教育网站和移动平台的访问次数,您只需使用过滤器即可强>选项。
请按照以下步骤操作:
选择您的数据集。在首页标签中,点击过滤选项(从排序和过滤命令栏)。或者,转到 >数据选项卡,然后单击过滤器。
之后,您将看到每个字段的下拉箭头。
选择“类别”字段。取消选中全选附近的框可取消选择所有数据选项。选中“教育”附近的复选框。按确定。
单击“平台”字段并选中“移动”复选框
过滤两个字段后,您将获得以下访问量。
方法 2 – 使用自动筛选选项在 Excel 中筛选多个值我们来查找访问量在 5,000 到 10,000 之间的“网站名称”,其中“新订阅者”大于 200。
选择数据集并按Ctrl + Shift + L。
单击“访问次数”字段的下拉箭头。转到数字过滤器菜单。选择之间选项。
此时,将出现一个名为自定义自动过滤器的新对话框。
在自定义自动筛选对话框的第一个空白处插入5000。在第二个空格中写下10000。按确定。
您将看到过滤后的访问次数。
单击“新订阅者”字段的下拉箭头。转到数字过滤器菜单。选择大于选项。
在打开的名为“新订阅者”的自定义自动过滤器对话框中,将200放入右上角的框中(“大于”旁边) )。按确定。
您将得到以下查询结果。
方法 3 – 使用高级过滤功能同时过滤多个列让我们指定三个标准:网站的类别应该是教育,访问次数更大超过 10,000 名,并且新订阅者数量需要大于 400 名。
创建一个小表来详细说明标准。我们使用了单元格范围B22:D23。您必须水平放置条件。请注意,条件标题必须与主表的标题匹配。
转到数据标签并点击排序和过滤,然后点击高级,打开高级过滤器选项。
在列表范围选项中指定要过滤的整个数据集的范围,并在条件范围中提供条件。如果您不需要重复项,请选中仅唯一记录旁边的框。按确定。
您将看到以下输出。
方法 4 – 在 Excel 中使用 VBA 的多个筛选器方法 4.1。使用 OR 运算符(逻辑)的多个过滤器假设您需要显示访问量小于 10000 或大于 15000 的网站,并且网站的类别为教育 。使用以下步骤:
在开发人员选项卡中,单击Visual Basic。
点击插入,然后点击模块,打开模块。
将以下代码复制到模块 1 中。Sub filter_my_sites()
Dim range_to_filter As Range
Set range_to_filter = Range("B4:G19")
range_to_filter.AutoFilter field:=5, Criteria1:="<10000", Criteria2:=">15000", Operator:=xlOr
range_to_filter.AutoFilter field:=2, Criteria1:="Education"
End Sub
代码分解
使用VBA AutoFilter需要满足以下条件。
范围:它是指要过滤的单元格范围,例如B4:G19。字段:它是数据集最左侧部分的列号索引。第一个字段的值为1。标准 1: 字段的第一个标准,例如标准1=”<10000”标准 2: 字段的第二个标准,例如标准2=”>15000”运算符: Excel 运算符,指定某些过滤要求,例如运算符:=xlOr、运算符:=xlAnd等。从开发人员选项卡,转到宏。
从宏名称中选择filter_my_sites,然后按运行。
如果运行上面的代码,您将得到以下输出。
方法 4.2。使用 AND 运算符(逻辑)的多个过滤器要获取访问次数在 5000 到 15000 之间的教育网站,您可以使用以下代码:
Sub filter_mysites_2()
Dim range_to_filter As Range
Set range_to_filter = Range("B4:G19")
range_to_filter.AutoFilter field:=5, Criteria1:=">=5000", Criteria2:="<=15000", Operator:=xlAnd
range_to_filter.AutoFilter field:=2, Criteria1:="Education"
End Sub
运行代码后,您将得到以下输出。
方法 5 – 使用 FILTER 函数应用多个过滤器此功能仅存在于Excel 365版本、网页版以及Excel 2021及更高版本中。
该函数的语法是:
过滤器(数组、包含、[if_empty])
论点是——
数组:要过滤的范围或数组。包括:布尔数组,作为条件提供。if_empty:未返回结果时返回的值。这是一个可选字段。假设您只想过滤 六月 的整个数据集。这意味着您想要获取网站的名称、访问次数等六月。
在H5单元格中写入公式。 这里,您应该为过滤后的数据保留足够的空间,否则会显示一些错误。=FILTER(B5:F19,MONTH(D5:D19) > 5,"No data")
这里,B5:F19 是我们的数据集,D5:D19 是日期,语法 MONTH(D5:D19) > 5 返回日期为六月。
按ENTER。并且,您将得到以下输出。
方法 6 – 使用 Excel 表格应用多个过滤器步骤:
选择数据范围。从插入选项卡中,选择表格功能。
将出现一个名为创建表的对话框。在表的数据在哪里?框中选择数据范围。 在这里,如果您之前选择了数据范围,则此框将自动填充。选中我的表格有标题选项。按确定。
您将看到每个字段的下拉箭头。
然后,按照方法1的步骤操作,您将得到输出。
如何在 Excel 中过滤多个逗号分隔的值对于本部分,我们将使用不同的数据表,其中包含网站名称、类别、访问次数和平台列。
让我们获取教育网站和移动平台的访问次数:
选择数据集并按 CTRL+SHIFT+L。您将看到每个字段的下拉箭头。单击“类别”字段的下拉箭头。转到文本过滤器菜单。选择包含..选项。将出现一个名为自定义自动过滤器的新对话框。
在第一个空格中写下教育(“包含”)。按确定。
因此,您将看到类别已被过滤。
对于过滤平台,请按照方法1操作,您将获得最终输出。
实践部分您可以通过提供的示例自行练习过滤。