将excel中的一列与excel中的另一列进行比较,找到重复的值

时间:2014-10-08 17:24:04

标签: mysql excel excel-vba vba

我只是想知道在Excel中是否有一种简单的方法来完成以下任务:

在我的Excel电子表格中,我有两个标签。一个选项卡表示一个数据库,另一个选项卡表示不同的数据库。我有一列数据,从我的第一个数据库(选项卡)长度超过1500行,如下所示:

enter image description here

在另一个标签中,我有另一列与上面的列类似。我的目标是能够将上面的列与单独选项卡中的其他列进行比较,并搜索重复的值。

因此,例如上面列中的第一个代码是00064.它将在单独的选项卡中搜索代码00064的指定列。如果找到它,我需要收到警报或以某种方式记录它。然后它将转到下一个代码00368,并为该列中的每个单元重复该过程。我希望这是有道理的。如果您有任何问题需要进一步澄清,请随时提出。

我希望的结果是去除重复值,但我不知道如何解决这个问题,因为由于我的列的长度,手动比较需要相当长的时间。如果有一个可以实现这一目标的宏,它将使我的生活变得更加容易。

我非常感谢能提供任何帮助。

谢谢!

-Dave

2 个答案:

答案 0 :(得分:2)

这不需要使用宏。我会使用VLOOKUP公式。如果在列之间找到完全匹配,则它将返回列值。如果未找到匹配,则单元格将读为#N / A.

将Sheet1上的单元格A1与Sheet2上的列A进行比较的公式示例如下所示:

=VLOOKUP(A1,Sheet2!A:A,1,)

Here是有关如何使用此公式的文档。

答案 1 :(得分:2)

这里不需要VBA。在第一个标签的第二列(B1)的第一个单元格中,使用countif公式:

=countif(tab2!A:A, A1)

将此公式复制下来,使其位于列A中每个已填充的单元格旁边。这将返回Tab2中第一个选项卡中等于A1的记录数。寻找任何东西> 0找到匹配的东西,或者> 2表示重复。

您可以使用if语句(例如

)扩展它
=if(countif(tab2!A:A, A1)>2, "Duplicate", countif(tab2!A:A, A1)=1, "Only one Match", "No Match"))