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

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

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

我确信有这样一个简单的方法,但是我对Excel不熟悉,而且我的老板在过去的一个小时里一直在向我大喊,所以很难集中注意力!

任何帮助将不胜感激。 我对任何语言或工具都是开放的。

谢谢

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

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 

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

如果您的600个问题在A1:A600中,您的7000个在D1:D7000中,则在B1中input:

 =COUNTIF($D$1:$D$7000,A1) 

并填写。 不在较大列表中的问题将在该列中为0