跳到主要内容

比较两列以在 Excel 中查找重复项(完整指南)


比较两列以查找重复值

要查找两列之间的重复值,可以根据您的要求使用多种方法,例如突出显示重复项以进行可视化概述或提取它们以进行深入分析。 在本节中,我们将介绍一些在 Excel 中完成此任务的快速技巧。

使用条件格式突出显示两列中的重复项

在 Excel 中突出显示两列中的重复项是识别重复数据的有效方法,特别是在手动检查不切实际的大型数据集中。 在这种情况下,条件格式是解决此任务的有用功能。

步骤 1:在列中选择要突出显示重复项的数据

在这个例子中,我将选择A2:A10,参见截图:

步骤 2:应用条件格式功能

  1. 点击 主页 > 条件格式 > 新规则,请参见屏幕截图:
  2. 新格式规则 对话框,请执行以下操作:
    • 2.1选择 使用公式来确定要格式化的单元格 来自 选择规则类型 列表框;
    • 2.2 在公式中输入以下公式 格式化此公式为真的值 文本框;
      =COUNTIF($B$2:$B$10, A2)>0
    • 备注:在以上公式中, B2:B10 代表您要比较的数据列表, A2 是要突出显示重复项的列的第一个单元格。 此公式检查单元格 A2 中的值是否可以在 B 列的任何位置找到。修改单元格引用以适合您的数据。
    • 2.3 然后,单击 格式 按钮。
  3. 在弹出的 单元格格式 对话框中,指定一种想要突出显示重复项的颜色。 然后点击 OK.
  4. 当它返回 新格式规则 对话框,单击 OK 按钮。

结果:

现在,A 列和 B 列中重复的值现在在 A 列中突出显示,如下图所示:

提示:
  • 中的重复规则 条件格式 is 不区分大小写。 因此,Apple 和 apple 都会被标记为重复项。
  • 如果要突出显示 B 列中的重复项,只需先选择 B 列,然后将以下公式应用到 条件格式:
    =COUNTIF($A$2:$A$10, B2)>0

使用强大的工具 - Kutools 选择并突出显示两列中的重复项

有时,您可能不仅需要突出显示,还需要选择重复项以将其复制并粘贴到工作簿中的其他位置。 在这种情况下, Kutools for Excel选择相同和不同的单元格 功能是一个理想的选择。 它可以通过突出显示并选择您需要的单元格来识别重复或唯一的值。

备注: 如果你想用这个 选择相同和不同的单元格 功能,请 下载并安装 Kutools for Excel 第一。

点击 库工具 > 选择 > 选择相同和不同的单元格选择相同和不同的单元格 对话框,请执行以下操作:

  1. 选择源数据和比较数据 在中查找值 根据 分开的盒子;
  2. 选择 每一行 在下面 基于 部分;
  3. 相同的值 来自 找到最适合您的地方 部分;
  4. 指定背景颜色以突出显示重复值 处理结果 部分;
  5. 最后点击 OK 按钮。

结果:

现在,A 列和 B 列中重复的值在 A 列中突出显示并选择,以便您复制并粘贴到任何所需的单元格中。 看截图:

提示:
  • 此功能 支持区分大小写 勾选时比较 区分大小写 复选框 选择相同和不同的单元格 对话;
  • 如果要从 B 列中选择重复项,只需交换 B 列中选定的两个列即可 在中查找值根据 的盒子 选择相同和不同的单元格 对话框;
  • 要应用此功能,请 下载并安装 Kutools for Excel 第一。

使用公式查找并提取两列中的重复项

要查找并提取两列之间的重复项,您可以使用公式来查明并提取重复项。

请将以下公式复制并粘贴到要放置结果的空白单元格中,然后向下拖动列中的填充柄以将此公式应用到其他单元格。

=IF(ISERROR(MATCH(A2,$B$2:$B$10,0)),"",A2)

备注:在以上公式中, A2 是要从中查找重复项的列的第一个单元格; B2:B10 代表您要比较的数据列表。

结果:

可以看到,如果A列的数据存在于B列中,则显示该值; 否则,单元格将留空。

提示: 这个公式是 不区分大小写.

使用 VBA 代码选择两列中的重复项

本部分将指导您完成创建 VBA 代码的步骤,该代码可识别并选择两列之间的重复值。

第 1 步:打开 VBA 模块编辑器并复制代码

  1. 媒体 Alt + F11键 键打开 Microsoft Visual Basic应用程序 窗口。
  2. 在打开的窗口中,单击 插页 > 模块 创建一个新的空白模块。
  3. 然后,将以下代码复制并粘贴到空白模块中。
    VBA代码:查找并选择两列之间的重复值
    Sub Compare()
    'Update by Extendoffice
    Dim Range1 As Range, Range2 As Range, Rng1 As Range, Rng2 As Range, outRng As Range
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set Range1 = Application.Selection
    Set Range1 = Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8)
    Set Range2 = Application.InputBox("Range2:", xTitleId, Type:=8)
    Application.ScreenUpdating = False
    For Each Rng1 In Range1
        xValue = Rng1.Value
        For Each Rng2 In Range2
            If xValue = Rng2.Value Then
                If outRng Is Nothing Then
                    Set outRng = Rng1
                Else
                    Set outRng = Application.Union(outRng, Rng1)
                End If
            End If
        Next
    Next
    outRng.Select
    Application.ScreenUpdating = True
    End Sub
    

第 2 步:执行此 VBA 代码

  1. 粘贴此代码后,请按 F5 键来运行此代码。 在第一个提示框中,选择要从中选择重复项的数据列表。 然后,单击 OK.
  2. 在第二个提示框中,选择要比较的数据列表,然后单击 OK,请参见屏幕截图:

结果:

现在,在 A 列中选择 A 列和 B 列中的重复值,允许您使用颜色填充单元格或根据需要复制并粘贴它们。

提示:
  • 这段VBA代码是 区分大小写;
  • 如果要从B列中选择重复项,只需在选择数据范围时交换所选的两个列即可。

逐行比较两列的匹配项

在 Excel 中,通常需要逐行比较两列来检查匹配项,这有助于检查记录或分析数据趋势等任务。 Excel 有不同的方法来执行此操作,从简单的公式到特殊功能,因此您可以选择最适合您的数据需求的方法。 让我们看一下一些有效完成这项工作的简单方法。

使用公式比较同一行中的两列

Excel 的公式为跨列数据比较提供了一种简单而有效的方法。 以下是如何使用它们。 假设您的 A 列和 B 列中有数据,要检查两列中的数据是否匹配,以下公式可能会帮助您:

提示: 这些公式用途广泛,不仅适用于文本,还适用于数字、日期和时间。
使用等于运算符 (=):

请输入或复制以下公式,按 输入 键,然后向下拖动填充手柄以获得所有结果。 如果同一行的 A 列和 B 列的值相同,则返回 TRUE,否则返回 FALSE。 看截图:

=A2=B2

如果函数:

如果您想让比较提供更多信息,您可以使用 IF功能 显示自定义消息。

请输入或复制下面的公式,按 输入 键,然后向下拖动填充手柄以获得所有结果。 当值相同时,它将返回 Match;当值不同时,它将返回 No Match。 看截图:

=IF(A2=B2, "Match", "No Match")
提示: 您可以根据需要将“匹配”、“不匹配”更改为其他表达式。

确切的功能:

如果您需要区分大小写的比较, 精确函数 是要走的路。

请输入或复制以下公式,按 输入 键,然后向下拖动填充手柄以获得所有结果。 当值完全匹配时,它将返回 Match;当值不同时,它将返回 No Match。 看截图:

=IF(EXACT(A2,B2), "Match", "No match")   
提示: 您可以根据需要将“匹配”、“不匹配”更改为其他表达式。


使用有用的工具选择并突出显示同一行中的匹配项 - Kutools

如果您需要逐行选择和着色两列之间的匹配项,而不是在单独的列中获取结果,Kutools for Excel 的比较单元格功能将是一个很好的选择。它使您能够快速选择填充颜色并将其应用到每行中值匹配或不同的单元格。

备注: 如果你想用这个 比较单元格 功能,请 下载并安装 Kutools for Excel 第一。

点击 库工具 > 比较单元格比较单元格 对话框,请执行以下操作:

  1. 从两列中选择数据 在中查找值根据 分开的盒子;
  2. 选择 相同的细胞 在下面 找到最适合您的地方 部分;
  3. 指定背景颜色以突出显示下面的匹配项 处理结果 部分;
  4. 最后点击 OK 按钮。

结果:

现在,同一行中的匹配项在 A 列中突出显示并选择,使您可以将它们复制并粘贴到任何所需的单元格中。 看截图:

提示:
  • 此功能 支持区分大小写 比较如果你检查 区分大小写 在选项 比较单元格 对话框;
  • 如果要从B列中选择匹配项,只需交换B列中选定的两个列即可 在中查找值根据 的盒子 比较单元格 对话框;
  • 要应用此功能,请 下载并安装 Kutools for Excel 第一。

比较两列并突出显示同一行中的匹配项

使用 Excel 中的条件格式可以有效地比较两列并突出显示同一行中的匹配项。 以下是识别和突出显示行匹配的指南:

步骤一:选择数据范围

选择要突出显示行匹配的数据范围。

步骤 2:应用条件格式功能

  1. 点击 主页 > 条件格式 > 新规则。 在 新格式规则 对话框,请执行以下操作:
    • 2.1选择 使用公式来确定要格式化的单元格 来自 选择规则类型 列表框;
    • 2.2 在下面的公式中输入 格式化此公式为真的值 文本框;
      =$B2=$A2
    • 2.3 然后,单击 格式 按钮。
  2. 在弹出的 单元格格式 对话框中,指定一种想要突出显示重复项的颜色。 然后点击 OK.
  3. 当它返回 新格式规则 对话框,单击 OK 按钮。

结果:

现在,同一行中的匹配值会立即突出显示,请参见屏幕截图:

提示:
  • 条件格式中的公式是 不区分大小写.
  • 如果您的目标是突出显示具有不同值的单元格,请应用以下公式:
    =$B2<>$A2

比较两列并提取匹配数据

当您在 Excel 中处理两组数据并需要从一个列表中查找另一个列表中的共同项时,查找公式是检索这些匹配项的首选解决方案。

在 Excel 中,如果 A 列中有一个水果列表,B 列有其销售数据,现在您希望将这些与 D 列中的一系列水果进行匹配,以找到相应的销售额。 如何从 Excel 中的 B 列返回相对值?

请应用您需要的以下任一公式,然后向下拖动填充柄以将此公式应用到其余单元格。

  • 所有 Excel 版本:
    =VLOOKUP(D2, $A$2:$B$6, 2, FALSE)
  • Excel 365 和 Excel 2021:
    =XLOOKUP(D2, $A$2:$A$6, $B$2:$B$6)

结果:

如果找到匹配,将显示所有对应的值,否则返回#N/A错误,见截图:

提示:
  • 使用上述公式,如果 D 列中的水果与 A 列中不匹配,它们将返回错误。 为了使这些错误更容易理解,您可以使用 IFERROR 函数包装公式:
    • 所有 Excel 版本:
      =IFERROR(VLOOKUP(D2,$A$2:$B$10,2,FALSE), "No match found")
    • Excel 365 和 Excel 2021:
      =IFERROR(XLOOKUP(D2, $A$2:$A$10, $B$2:$B$10),"No match found")
  • 对于那些热衷于高级查找公式的人来说, Kutools for Excel 提供了一套令人印象深刻的高级查找公式,将传统的 VLOOKUP 函数提升到新的高度,为您的数据管理任务提供无与伦比的精度和效率。

    Kutools for Excel 拥有超过 300 种方便的工具,旨在提高您的工作效率。 立即体验 30 天免费试用的全部功能并提升您的电子表格! 它吧!

相关文章:

  • 查找并突出显示范围中的重复行
  • 有时,工作表的数据范围中可能有一些重复的记录,现在您想要查找或突出显示该范围中的重复的行,如下面的屏幕快照所示。 当然,您可以通过检查行来一个接一个地找到它们。 但是,如果有数百行,这不是一个好选择。 在这里,我将讨论一些有用的方法来帮助您处理此任务。
  • 用不同的颜色突出显示重复的值
  • 在Excel中,通过使用条件格式设置,我们可以轻松地用一种颜色突出显示一列中的重复值,但是有时,我们需要突出显示不同颜色的重复值,以便快速,轻松地识别重复项,如下面的屏幕快照所示。 您如何在Excel中解决此任务?
  • 在Excel中查找,突出显示,过滤,计数,删除重复项
  • 在Excel中,当我们手动记录数据,从其他来源复制数据或出于其他原因而重复出现数据。 有时,重复是必要且有用的。 但是,有时重复的值会导致错误或误解。 本文将介绍在Excel中通过公式,条件格式设置规则,第三方加载项等快速识别,突出显示,筛选,计数,删除重复项的方法。
  • 删除重复项并替换为空白单元格
  • 通常,当您在 Excel 中应用删除重复项命令时,它会删除整个重复行。 但有时,您希望空白单元格替换重复值,在这种情况下,删除重复项命令将不起作用。 本文将指导您删除重复项并将其替换为 Excel 中的空白单元格。
Comments (48)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I'm trying to count duplicates from two columns (Column A is the name Column B is the address) how could I do it?
This comment was minimized by the moderator on the site
Hi, Committed, if you want to count total number of duplicates in two columns, firstly, use a formula to count the duplicates in first column:=COUNTIF(A2:A7, A2), A2:A7 is the range of the first column, A2 is the first data except header of the first column. Then use the same formula (change reference) to count the duplicates in second column. Finaly, use SUM function to get the total number of duplicates in two columns.Here is a tutorial which list almost all scenarios about comparing columns, if you are interested in this, you can visit:https://www.extendoffice.com/documents/excel/6392-excel-compare-two-columns.html</div>;
This comment was minimized by the moderator on the site
BUT I WANT DUPLICATE VALUE BEFORE ANY SPACING, IN COLUMN B WE FOUND DUPLICATE VALUES THAT'S GREAT BUT THERE IS SPACE I WANT THOSE VALUES WITHOUT SPACES, HOW CAN I?
This comment was minimized by the moderator on the site
Hi, just remove the spaces by using the Go to special function to find the space cell, then remove them by clicking Delete key after finding the duplicate values.
This comment was minimized by the moderator on the site
Здравствуйте. Макрос приведенный здесь выделяет дубликаты ячеек, но при попытке редактирования какой-либо ячейки выделение снимается сразу со всех дубликатов, как сделать что бы этого не происходило?
This comment was minimized by the moderator on the site
so lovely yeah!
This comment was minimized by the moderator on the site
I LOVE THIS SITE!
This comment was minimized by the moderator on the site
Thank You!
This comment was minimized by the moderator on the site
This shit don't work... just getting

outRng.Select object variable or with block variable not set??
This comment was minimized by the moderator on the site
great demo guys,keep rocking
This comment was minimized by the moderator on the site
Thank You Very Much Guys
This comment was minimized by the moderator on the site
that was really great.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations