【问题标题】:How do I use the Advanced filter in excel to exclude filtered data instead of include it如何在 excel 中使用高级过滤器来排除过滤的数据而不是包含它
【发布时间】:2018-10-30 22:13:52
【问题描述】:

我有一个大型数据集,我需要从中过滤掉所有包含来自我已设置的另一个大型数据集的关键字的行。我知道如何在excel中使用高级过滤器功能,但它只会删除没有关键字的数据,而不是删除有关键字的数据。

我只有关于行不能包含的关键字的信息,因为它的对立面(它可以包含的关键字)对于此函数的使用来说太大了。

请帮忙!

【问题讨论】:

  • 您是手动执行此操作,还是使用 VBA?为什么不直接浏览列表并手动选择您不想包含的数据呢?请提供更多细节。

标签: excel filtering


【解决方案1】:

假设我有一个包含 9 种颜色的列表,我想过滤掉所有不是“粉红色”或“黄色”的值。为了过滤掉那个确切的列表,我必须根据我的要求创建一个数组,然后过滤那个数组。所以在这个例子中,我们遍历所有的值,如果它们不是粉红色或黄色,我们将它们添加到数组中 - 然后我们过滤它:

Sub Test()

Dim arr As Variant
Dim i As Long, j As Long

j = 0

For i = 2 To 10
    If Range("A" & i).Value <> "Pink" And Range("A" & i).Value <> "Yellow" Then
        If j = 0 Then
            ReDim arr(0 To 0)
            arr(j) = Range("A" & i).Value
            j = j + 1
        Else
            j = j + 1
            ReDim Preserve arr(0 To j)
            arr(j) = Range("A" & i).Value
        End If
    End If
Next i

Range("$A$1:$A$10").AutoFilter Field:=1, Criteria1:=arr, Operator:=xlFilterValues

End Sub

例子:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 2018-10-19
    • 2011-02-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多