自动过滤多个通配符

时间:2015-04-23 10:35:21

标签: excel autofilter

有没有办法使用Excel自动过滤器,您可以设置要过滤的预定义值列表,它将返回包含该短语的列中的所有单元格?例如,想象下面的数据(全部在一列中)。

       A
1    NAMES
2  Brian
3  Brian, John
4  Brian, Mark
5  Mark, John

过滤器有三个预定义值,BrianJohnMark,当您选择1个或多个选项时,它会满足所有选定的过滤器吗?因此,在此示例中,Brian将返回前三个单元格,其中选择MarkJohn将仅返回最后一个。

我知道可以使用Advanced Filter在数据列表中执行一次,但我正在寻找实时执行此操作的方法。

2 个答案:

答案 0 :(得分:4)

您不能使用通配符过滤两个以上的条件。您的样本数据的性质使您可以使用=" Brian *",=" Mark *"或=" * John"将名字通配符为以...开头以...... 标准结束。您只能在任何一个过滤操作中使用其中两个。您不能通过创建通配值数组来添加第三个。

这有效:

with activesheet.cells(1, 1).currentregion
    .AutoFilter Field:=1, Criteria1:="=Brian*", Operator:=xlOr, Criteria2:="=*John"
end with

这不起作用:

with activesheet.cells(1, 1).currentregion
    .AutoFilter Field:=1, Criteria1:=Array("Brian*", "Mark*", "*John"), Operator:=xlFilterValues
end with

答案 1 :(得分:0)

第二种方法不起作用,因为如果您在数组中使用通配符进行自动过滤,则仅限于2个术语。网上有解决方法和解决方案。