我有两个excel列,一个有7000行,一个有600个。
对于600中的每一个,如果它存在于7000中,我希望它从列表中删除。因此,假设我的600个问题中有200个包含在7000中,我将留下一个包含400的列。我相信这将表示为A / B,一个是600个句子的列表,B是7000。
我确信有一种简单的方法可以做到这一点,但我对Excel不熟悉,过去一小时我的老板一直在喊我,所以很难集中注意力!
非常感谢任何帮助。我对任何语言或工具持开放态度。
由于
答案 0 :(得分:1)
如果列 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
它将从长列表中显示的短列表中删除项目。
答案 1 :(得分:0)
如果您的600个问题在A1:A600中,而您的7000在D1中:D7000则在B1中输入:
=COUNTIF($D$1:$D$7000,A1)
并填写。 不在较大列表中的问题在该列中将为0