Excel – 需要查找列B中是否有任何内容

Basicaly,我有两个电子邮件地址列表Excell …

Column A = Holds over 2051 rows of email addresses Column B = Holds about 1994 rows of email addresses 

我需要一种方法来找出A列中的哪些电子邮件地址在列B中找不到,并且最好在新的工作表或C列中输出结果。

在此之后,我需要能够find列B中的哪些电子邮件地址在列A中找不到(如果有的话)并将其输出到新的表格或列D中。

我怎样才能做到这一点?

在新的工作表或列C中,使用VLOOKUP()和IFERROR()的组合,并为A的每一行拖动该公式。

=IF(ISERROR(VLOOKUP(A1, $B$1:$B$1995, 1, 0)), A1 & " NOT FOUND IN COLUMN B", "FOUND IN B")

这将返回两个不同的消息,取决于在B中是否find电子邮件。

为什么不将B列的数据复制粘贴到列A的末尾? 然后为该列设置条件格式,以突出显示所有数量超过1的项目。 使用这个公式,“ =countif($A$1:A1,A1)>1 ”,没有引号。 确保在执行此操作时select了整个列。

另一种维护数据分离的方法。 在列C中使用这样的公式=IF(ISERROR(VLOOKUP(A1,$B$1:$B$100,1,0)),A1,"") ; 更改范围以匹配您的数据范围。 然后填写公式,直到列A中的数据结束。要填充,select所需的范围,然后按'Cntl + D'。 对D列重复此操作,但交换公式中的A和B参考,并填充直到列B数据的底部。 这将导致C&D列中的数据列出唯一值。 复制并粘贴这些值,如果使用默认粘贴,请确保粘贴为值Excel将粘贴公式而不是数据到另一组列(E&F)或相同的列,然后对每列进行sorting以消除空间。

你可以用这个Sub ..

 Sub CrossCheck() Dim LastA, LastB, r As Range Dim x, Cn, Dn As Long Set LastA = Range("A65536").End(xlUp) Set LastB = Range("B65536").End(xlUp) Cn = 1 Dn = 1 For x = 1 To LastB.Row Set r = Columns("B").Find(Cells(x, 1), , xlValues, xlWhole) If r Is Nothing Then Cells(Cn, 3) = Cells(x, 1) Cn = Cn + 1 End If Next For x = 1 To LastA.Row Set r = Columns("A").Find(Cells(x, 2), , xlValues, xlWhole) If r Is Nothing Then Cells(Dn, 4) = Cells(x, 2) Dn = Dn + 1 End If Next End Sub 

希望这个帮助!