Excel 对具有不相关条件的多列进行自动筛选
我正在尝试用VBA筛选数据。数据如下所示: 我想只显示写有FAIL的行。所以我试过了Excel 对具有不相关条件的多列进行自动筛选,excel,vba,autofilter,Excel,Vba,Autofilter,我正在尝试用VBA筛选数据。数据如下所示: 我想只显示写有FAIL的行。所以我试过了 .ListObjects(“Table1”).Range.AutoFilter字段:=1,Criteria1:=“失败” .ListObjects(“Table1”).Range.AutoFilter字段:=2,Criteria1:=“=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")