我怎样才能在 Excel 中做一个 LESS?

How can I do a LESS in Excel?

我有两个 excel 列,一个有 7000 行,一个有 600 行。

对于这 600 个中的每一个,如果它存在于 7000 个中,我希望将其从列表中删除。所以,假设我的 600 个问题中有 200 个包含在 7000 个问题中,我将剩下一个包含 400 个问题的列。我相信这将表示为 A / B,a 是 600 个句子的列表,B 是 7000 个。

我确定有一个简单的方法可以做到这一点,但我不熟悉 Excel 而且我的老板过去一个小时一直在对我大喊大叫,所以我很难集中注意力!

如有任何帮助,我们将不胜感激。我对任何语言或工具都持开放态度。

谢谢

如果您的 600 个问题在 A1:A600 中,您的 7000 个问题在 D1:D7000 中,那么在 B1 中输入:

=COUNTIF($D:$D00,A1)

然后往下填。 不在较大列表中的问题将在该列中有 0

如果列 A 是短列表而列 B 是长列表,那么试试这个宏:

Sub PurgeAList()
    Dim rA As Range, rB As Range, nA As Long, nB As Long
    Dim rc As Long, i As Long, v As Variant

    rc = Rows.Count
    nA = Cells(rc, "A").End(xlUp).Row
    nB = Cells(rc, "B").End(xlUp).Row
    Set rA = Range("A1:A" & nA)
    Set rB = Range("B1:B" & nB)

    For i = nA To 1 Step -1
        v = Cells(i, "A").Value
        If Application.WorksheetFunction.CountIf(rB, v) > 0 Then
            Cells(i, "A").Delete shift:=xlShiftUp
        End If
    Next i
End Sub

它将从出现在长列表中的短列表中删除项目。