自动过滤不相关条件的多列

时间:2019-06-19 09:57:17

标签: excel vba autofilter

我正在尝试在VBA中过滤我的数据。数据如下:

enter image description here

我只想显示上面写有FAIL的行。所以我尝试了 .ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:="FAIL" .ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:="=FAIL"

但是,它只是隐藏了所有内容。如果数据在同一列中,我会使用operator属性,但由于它在不同的列中,所以我真的不知道该怎么办。

那么可以过滤来自不同列的不相关数据吗?

谢谢。

3 个答案:

答案 0 :(得分:2)

我认为类似使用AdvancedFilter

@objc
func labelDidGetTapped(sender: UITapGestureRecognizer) {
    guard let label = sender.view as? UILabel else {
        return
    }
    UIPasteboard.general.string = label.text
}

enter image description here

答案 1 :(得分:2)

过滤器在多个列中使用与AND相关的条件,但是您需要的是与OR相关的条件(不支持):

因此您可以在COUNTIF中使用帮助列

enter image description here

例如,在C2中使用以下公式(并将其复制下来):

=COUNTIF(A2:B2,"FAIL")

然后过滤>=1的帮助器列。

答案 2 :(得分:1)

我不这么认为。过滤器看起来就像它们仅作用于一列。使用界面定义过滤器时,它仅提供一种在单个列上设置条件的方法。

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

您可以使用其他列来完成它。假设您添加列C,而上面的列是A和B。公式为=OR(A2="FAIL", B2="FAIL")。然后根据C = TRUE进行过滤。