Excel 对具有不相关条件的多列进行自动筛选

Excel 对具有不相关条件的多列进行自动筛选,excel,vba,autofilter,Excel,Vba,Autofilter,我正在尝试用VBA筛选数据。数据如下所示: 我想只显示写有FAIL的行。所以我试过了 .ListObjects(“Table1”).Range.AutoFilter字段:=1,Criteria1:=“失败” .ListObjects(“Table1”).Range.AutoFilter字段:=2,Criteria1:=“=FAIL” 然而,它只是隐藏了一切。如果数据在同一列中,我会使用操作符属性,但由于它在不同的列中,我真的不知道该怎么办 那么,是否可以从不同的列中筛选不相关的数据 提前谢

我正在尝试用VBA筛选数据。数据如下所示:

我想只显示写有FAIL的行。所以我试过了

.ListObjects(“Table1”).Range.AutoFilter字段:=1,Criteria1:=“失败”
.ListObjects(“Table1”).Range.AutoFilter字段:=2,Criteria1:=“=FAIL”

然而,它只是隐藏了一切。如果数据在同一列中,我会使用
操作符
属性,但由于它在不同的列中,我真的不知道该怎么办

那么,是否可以从不同的列中筛选不相关的数据


提前谢谢你。

我想


我不这么认为。过滤器看起来好像只对一列进行操作。当您使用该接口定义过滤器时,它仅提供在单个列上设置条件的方法

过滤器1将在第一列中隐藏所有没有
FAIL
的行,过滤器2将在第二列中隐藏没有
FAIL
的行。因此,除非两列中都有
FAIL
,否则该行将被隐藏


您可以使用一个附加列来完成它。假设您添加了C列,上面的是A和B。A公式
=或(A2=“FAIL”,B2=“FAIL”)
。然后在C=
TRUE

上进行筛选过滤器在多列中使用和相关的条件,但您需要的是或相关的条件(不支持):

因此,可以使用带有COUNTIF的helper列

例如C2中的以下公式(并将其复制下来):

然后过滤helper列中的
=1

“过滤器看起来只对一列进行操作”实际上没有过滤器也可以对多个列进行操作,但它们的条件是相互关联的(不是或根据OP的需要)。事实上,你在第二段已经正确地解释了:)
Range("A1:B4").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("D1:E3"), Unique:=False
=COUNTIF(A2:B2,"FAIL")