如何在 Microsoft Excel 中比较两列以查找匹配项和差异?

2025年3月17日 | 阅读13分钟

介绍如何在 Microsoft Excel 中比较两列

众所周知,在 Microsoft Excel 中比较相应的两列可以得到这些列中的值。我们已经遇到过不同的方法来实现这一点。

第一种方法是,我们可以通过使用等号(“=”)将要比较的列分隔开,轻松地选出这些列中的平行单元格,这将给出 TRUE 或 FALSE 的结果。如果列中的单元格匹配,那么在这种特定情况下,我们将得到 TRUE 作为输出,否则为 FALSE。

除此之外,另一种方法是,我们可以使用 IF 函数来匹配列单元格,就像我们通过使用等号一样,以便在比较列时获得我们想要的消息。

现在在本教程中,我们将探讨几种在 Microsoft Excel 中比较两列的方法,并找出它们之间的匹配项和差异。

  1. 如何在 Microsoft Excel 中逐行比较两列?
  2. 如何比较多列以进行行匹配?
  3. 如何在 Excel 工作表中比较两列以查找匹配项和差异?
  4. 如何比较两个列表并在 Microsoft Excel 中提取匹配数据?
  5. 如何突出显示两列之间的匹配项和差异?
  6. 如何突出显示 Excel 工作表中的行匹配项和差异?
  7. 如何在 Microsoft Excel 中比较两个单元格?
  8. 在 Microsoft Excel 中比较两列或列表的无公式方法

我们如何在 Microsoft Excel 中逐行比较两列?

如果您正在进行 Microsoft Excel 中的数据分析,那么最常见的任务之一就是逐行比较数据。这项任务可以通过使用 IF 函数来有效地完成,正如以下示例所示。

# 示例 1:比较两列以查找同一行的匹配项或差异

为了在 Microsoft Excel 中逐行比较两列,我们将在第一对单元格中编写标准的 IF 公式。然后,我们将公式输入到同一行的另一个列中,然后通过拖动填充柄将其复制到其他单元格。这样做时,光标将有效地变为加号。

How one can compare two columns for matches and differences in Microsoft Excel?

可在 Microsoft Excel 中用于匹配的公式

用于在 Excel 工作表中进行匹配的公式如下:

并且为了找出同一行中具有相同内容的单元格,在本例中为 A2 和 B2,

=IF (A2=B2,"匹配","")

可在 Microsoft Excel 中用于差异的公式

用于找出 Excel 工作表中差异的公式如下:

并且为了找出同一行中具有不同值的单元格,请将等号替换为不等号(<>),

=IF (A2<>B2,"不匹配","")

匹配项和差异

此外,没有任何东西可以阻止我们使用一个公式同时找出匹配项和差异。

=IF (A2=B2, "匹配", "不匹配")

=IF (A2<>B2, "不匹配", "匹配")

How one can compare two columns for matches and differences in Microsoft Excel?

正如我们所见,该公式可以处理数字、日期、时间和文本字符串。

重要提示:我们也可以使用 Excel 的高级筛选来逐行比较列。
现在,我们将看一个如何筛选两列之间匹配项和差异的示例。

# 示例 2:如何在 Excel 工作表中比较两个列表以在同一行中进行区分大小写的匹配

正如我们已经注意到的,前一个示例中的公式在比较文本值时会忽略大小写,如上图的第 10 行所示。如果您想在每行中的 2 列之间查找区分大小写的匹配项,那么我们将有效地使用 EXACT 函数。

=IF (EXACT (A2, B2), "匹配", "")

How one can compare two columns for matches and differences in Microsoft Excel?

并且为了找出同一行中区分大小写的差异,我们将把相应的文本(在本例中为“Unique”)放入 IF 函数的第三个参数中,例如:

=IF (EXACT (A2, B2), "匹配", "唯一")

如何在 Excel 工作表中比较多列以进行匹配?

在我们的 Microsoft Excel 工作表中,可以根据以下标准比较多列:

  1. 如何在 Microsoft Excel 中找出所有给定列中具有相同值的行? (示例 1)
  2. 如何在 Microsoft Excel 中找出任何 2 列中具有相同值的行? (示例 2)

# 示例 1:在 Microsoft Excel 中找出同一行中所有单元格的匹配项

如果我们的表格有 3 列或更多列,并且我们想找出所有单元格中的值都相同的行,那么带有 AND 语句的 IF 公式将非常有效。

=IF (AND (A2=B2, A2=C2), "完全匹配", "")

How one can compare two columns for matches and differences in Microsoft Excel?

如果我们的表格有很多列,那么一个更优雅的解决方案是使用 COUNTIF 函数。

=IF (COUNTIF ($A2:$E2, $A2) =5, "完全匹配", "")

其中 5 是我们正在比较的列数?

# 示例 2:找出 Excel 工作表中同一行中任何两个单元格的匹配项

如果您正在寻找一种方法来比较列,以便在同一行中使用 IF 公式和 OR 语句查找两个或多个具有相同值的单元格。

=IF (OR (A2=B2, B2=C2, A2=C2), "匹配", "")

How one can compare two columns for matches and differences in Microsoft Excel?

而且,如果可以使用许多不同的列进行比较,那么我们的 OR 语句可能会变得非常庞大。因此,在这种情况下,一个更好的解决方案是简单地将几个 COUNTIF 函数加起来。第一个 COUNTIF 计算有多少列的值与第一个列的值相同,而第二个 COUNTIF 计算其余有多少列等于第二个列。如果计数为 0,公式将分别返回“唯一”或“匹配”。

例如

=IF (COUNTIF (B2:D2, A2) +COUNTIF (C2:D2, B2) + (C2=D2) =0,"唯一","匹配")

How one can compare two columns for matches and differences in Microsoft Excel?

如何在 Microsoft Excel 列中比较两列以查找匹配项和差异?

我们通常在 Microsoft Excel 中有两个数据列表,并且我们想找出列 A 中存在但不在列 B 中的所有值。

为此,我们可以将 COUNTIF 函数嵌入 IF 的逻辑测试中,然后检查它是否返回零或其他数字。

例如,以下 IF 或 COUNTIF 公式会在整个列 B 中搜索单元格 A2 的值。如果没有找到匹配项,则公式将返回“B 中无匹配项”。

=IF (COUNTIF ($B: $B, $A2) =0, "B 中无匹配项", "")

How one can compare two columns for matches and differences in Microsoft Excel?

通过使用包含 ISERROR 和 MATCH 函数的 IF 公式,也可以获得相同的结果。

=IF (ISERROR (MATCH ($A2, $B$2:$B$10, 0)), "B 中无匹配项", "")

或者,只需使用以下数组公式:

=IF (SUM (--($B$2:$B$10=$A2)) =0, "B 中无匹配项", "")

如果您想要一个公式来识别匹配项(重复项)和差异(唯一值),请在任何上述公式的空双引号("")中添加一些文本以表示匹配项。

例如

=IF (COUNTIF ($B: $B, $A2) =0, "B 中无匹配项", "B 中有匹配项")

如何在 Excel 工作表中比较两个列表并提取匹配项?

有时我们只需要匹配两个不同表中的两列,并从查找表中提取匹配的条目。Microsoft Excel 还提供了一个独特的函数来实现这一点——VLOOKUP 函数。另外,我们可以使用更强大、更通用的 INDEX MATCH 公式,而 Excel 2021 和 Excel 365 的用户也可以使用 XLOOKUP 函数完成此任务。

  • 例如,以下公式将比较列 D 中的产品名称与列 A 中的名称,如果找到匹配项,则提取列 B 中相应的销售数字;否则,将分别返回 #N/A 错误。

=VLOOKUP (D2, $A$2:$B$6, 2, FALSE)

=INDEX ($B$2:$B$6, MATCH ($D2, $A$2:$A$6, 0))

=XLOOKUP (D2, $A$2:$A$6, $B$2:$B$6)

How one can compare two columns for matches and differences in Microsoft Excel?

如何在 Excel 工作表中比较两个列表并突出显示匹配项和差异?

当我们比较 Microsoft Excel 中的列时,如果您想“可视化”那些存在于一列中但另一列中不存在的项目,我们可以使用 **Microsoft Excel 条件格式**功能将这些单元格着色为我们选择的任何颜色。下面的示例将详细演示步骤。

# 示例 1:突出显示每行的匹配项和差异

现在,为了在 Microsoft Excel 中比较两列并突出显示列 A 中与同一行中的列 B 具有相同条目的单元格,请执行以下操作:

步骤 1:首先,我们将选择要突出显示的单元格(我们可以确定一个列中的单元格,或者在要着色整行的情况下确定几个列中的单元格)。

步骤 2:之后,我们将单击“条件格式”>“新建规则”>“使用公式确定要设置格式的单元格”。

步骤 3:之后,我们将创建一个简单的公式规则,例如 **=$B2=$A2**(假设第 2 行是第一个数据行,不包括列标题)。然后,我们将仔细检查我们是否使用了相对行引用(没有 $ 符号),如上面的公式所示。

How one can compare two columns for matches and differences in Microsoft Excel?

现在,为了突出显示 A 列和 B 列之间的差异,我们将创建具有以下公式的规则:

=$B2<>$A2

How one can compare two columns for matches and differences in Microsoft Excel?

# 示例 2:突出显示 Excel 工作表中每个列表中的唯一条目

每当我们比较 Microsoft Excel 中的两个列表时,我们可以突出显示 3 种类型的项目:

  • 仅在第一个列表中存在的项目(唯一)
  • 仅在第二个列表中的项目(特殊)
  • 同时存在于两个列表中的项目(重复项)。

本示例将演示如何为列表中的项目着色。

我们的列表 1 在 A 列(A2:A6)中,列表 2 在 C 列(C2:C5)中。我们还可以使用以下公式创建条件格式规则:

突出显示列表 1(A 列)中的唯一值

=COUNTIF ($C$2:$C$5, $A2) =0

突出显示列表 2(C 列)中的唯一值

=COUNTIF ($A$2:$A$6, $C2) =0

并得到以下结果:

How one can compare two columns for matches and differences in Microsoft Excel?

# 示例 3:突出显示 Excel 工作表中两个列之间的匹配项(重复项)

如果我们仔细遵循前面的示例,我们可以调整 COUNTIF 公式,使其查找匹配项而不是差异。我们所要做的就是将计数设置为大于零。

How one can compare two columns for matches and differences in Microsoft Excel?

突出显示列表 1(A 列)中的匹配项

=COUNTIF ($C$2:$C$5, $A2)>0

突出显示列表 2(C 列)中的匹配项

=COUNTIF ($A$2:$A$6, $C2)>0

如何在 Microsoft Excel 中突出显示多列的行差异和匹配项?

当我们在多列中逐行比较值时,最快的突出显示匹配项的方法是创建一个条件格式规则,而着色差异最快的方法是使用“转到特殊”功能,以下示例将对此进行演示。

# 示例 1:比较多列并突出显示行匹配项

要突出显示所有列中具有相同值的行,我们需要创建一个基于以下公式之一的条件格式规则:

=AND ($A2=$B2, $A2=$C2)

=COUNTIF ($A2:$C2, $A2) =3

A2、B2 和 C2 是最上面的单元格,3 是用于比较的列数。

How one can compare two columns for matches and differences in Microsoft Excel?

当然,AND 和 COUNTIF 公式都不限于只比较 3 列。我们可以使用类似的公式来突出显示 4、5、6 列或更多列中具有相同值的行。

# 示例 2:比较多列以及在 Excel 中突出显示行差异

如果您想快速突出显示每行中具有不同值的选定单元格,我们可以使用 Excel 的“转到特殊”功能。

步骤 1:首先,我们将选择要比较的单元格范围,在本例中,我们选择了从 A2 到 C8 的单元格。

How one can compare two columns for matches and differences in Microsoft Excel?

默认情况下,选定范围中最上面的单元格是活动单元格,同一行中其他选定列的单元格将与该特定单元格进行比较。正如我们在上面的屏幕截图中看到的,活动单元格是白色的,而选定范围中的所有其他单元格都被着色了。例如,活动单元格是 A2,因此比较列仅为 A 列。

如果我们想更改比较列,我们可以使用 Tab 键在选定单元格之间从左到右导航,或使用 Enter 键从上到下移动。

重要提示:为了选择非相邻列,我们将选择第一列,然后按住 Ctrl 键,然后选择其他列。活动单元格将位于最后一列(或最后一组相邻列)。要更改比较列,我们使用上面描述的 Tab 或 Enter 键。

步骤 2:现在,在“主页”选项卡上,我们将转到“编辑”组,然后单击“查找和选择”>“转到特殊”,然后选择“行差异”并单击“确定”按钮。

How one can compare two columns for matches and differences in Microsoft Excel?

步骤 3:与每行的比较单元格值不同的单元格将被着色。如果您想为突出显示的单元格着色,可以单击功能区上的“填充颜色”图标并选择您喜欢的颜色。

How one can compare two columns for matches and differences in Microsoft Excel?

如何在 Microsoft Excel 中比较两个单元格?

比较 2 个单元格相当于在 Microsoft Excel 中逐行比较两列,只是我们不必将公式复制到列中的其他单元格。

  • 例如:为了比较单元格 A1 和 C1,我们可以使用以下公式。

用于匹配

=IF (A1=C1, "匹配", "")

用于差异

=IF (A1<>C1, "差异", "")

在 Microsoft Excel 中比较两列/列表的无公式方法

既然我们知道 Microsoft Excel 提供了比较和匹配列的功能,我现在将展示我们的解决方案。此工具名为“比较两表”,并包含在我们的 Ultimate Suite 中。

该插件可以比较任意数量列的两张表或列表。两者都可以识别匹配项或差异(就像我们用公式所做的那样)并突出显示它们(就像我们用条件格式所做的那样)。

为此,我们将比较以下两个列表,以查找两者都存在的共同值。

How one can compare two columns for matches and differences in Microsoft Excel?

要比较这两个列表,我们需要遵循以下步骤:

步骤 1:首先,我们将单击“数据”选项卡上的“比较表”按钮。

步骤 2:然后,我们将选择第一列/列表,然后单击“下一步”。就插件而言,这就是您的表 1。

步骤 3:现在,我们将选择第二列/列表,然后单击“下一步”。就插件而言,这是我们的表 2,它可以位于同一个或不同的工作表,甚至可以在另一个工作簿中。

How one can compare two columns for matches and differences in Microsoft Excel?

步骤 4:选择要查找的数据类型

  • 重复值(匹配项)- 存在于两个列表中的项。
  • 唯一值(差异)- 列表 1 中存在但列表 2 中不存在的项。

由于我们的主要目标是查找匹配项,我们将选择第一个选项,然后单击“下一步”。

How one can compare two columns for matches and differences in Microsoft Excel?

步骤 5:选择要比较的列至关重要。在我们的例子中,选择很明显,因为我们只比较 2 列:“2000 年获奖者”与“2021 年获奖者”。在更大的表格中,我们也可以选择多个列对进行比较。

How one can compare two columns for matches and differences in Microsoft Excel?

步骤 6:在最后一步中,我们必须选择如何处理找到的项,然后单击“完成”按钮。

这里有一些不同的选项。对于我们的目的,这两个是最有用的:

  • 用颜色突出显示 - 用选定的颜色着色匹配项或差异(就像 Excel 条件格式所做的那样)。
  • 在状态列中识别 - 插入带有“重复”或“唯一”标签的“状态”列(就像 IF 公式所做的那样)。
  • 在此示例中,我决定用以下颜色突出显示重复项:
How one can compare two columns for matches and differences in Microsoft Excel?

片刻之后,我们得到了以下结果。

How one can compare two columns for matches and differences in Microsoft Excel?

使用“状态”列,结果将如下所示:

How one can compare two columns for matches and differences in Microsoft Excel?

重要提示:如果我们要比较的列表位于不同的工作表或工作簿中,并排查看 Excel 工作表可能会有所帮助。

这样,我们就可以轻松地在 Excel 中比较列以查找匹配项(重复项)和差异(唯一值)。