【问题标题】:Compare one column in excel to another column in excel and find duplicate values将excel中的一列与excel中的另一列进行比较并查找重复值
【发布时间】:2015-02-10 06:26:10
【问题描述】:

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

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

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

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

我想要的结果是消除重复值,但我不知道该怎么做,因为由于我的列的长度,手动比较需要相当长的时间。如果有一个宏可以做到这一点,那会让我的生活变得更轻松。

我非常感谢可以提供的任何帮助。

谢谢!

-戴夫

【问题讨论】:

  • 有任意数量的MATCHLOOKUPCOUNTIF 函数可以定位重复项。条件格式将识别它们。如果您希望宏执行此操作,则应决定宏在找到重复项时要执行的操作。通过设计主要循环和识别方法开始编写代码。当您遇到麻烦时,您可以全面了解您希望完成的工作并发布您的问题代码段。
  • 我只包含了 mysql 以表明我的数据来自 mysql 数据库。也许这不是正确的做法,但我在想有人可以向我展示一种在数据库本身中执行此操作的方法。虽然我没有明确表示,但我道歉。实际上,我确实想到了另一种在 Excel 之外的 mysql 中完成此任务的方法。这是事后的事。 mysql 中的解决方案是将两个数据库加载到我的本地主机并运行查询以查找重复项。我知道这个解释与我的问题没有直接关系,但如果遇到同样的问题会有所帮助。

标签: mysql excel vba


【解决方案1】:

这里不需要 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"))

【讨论】:

  • 非常感谢您的回答。使用这种方法,我能够非常轻松地搜索重复项。
【解决方案2】:

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

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

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

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

【讨论】:

  • 我不得不使用这种方法做一些额外的研究,但它就像我的魅力一样!我实际上使用了您的两个答案并比较了结果以确保重复的数量是准确的。非常感谢!如果可以的话,我会接受你的两个答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多