如何在Excel中比较文本并突出显示差异(8种快速方法)

  • Share This
Hugh West

在某些情况下,我们可能只需要 比较字符串的文本 本文将指导你用八种简单的方法来比较Excel中的文本,并突出显示其差异。

下载练习册

你可以从这里下载免费的Excel模板,自己练习。

比较文本并突出显示差异.xlsm

在Excel中比较文本并突出显示同一行的差异的5种快速方法

让我们先来介绍一下我们的数据集。 我连续两个月将一些畅销书放在一个网上商店里。 现在我将使用一些简单的技术对它们进行比较并突出差异。 首先,我将展示如何对相同的行进行处理。

方法1:确切的功能

确切的功能 是用来 比较两个字符串或数据 让我们把它用在我们的第一个方法上。 为了显示输出结果,我添加了一个新的列,名为 "Remark"。

步骤1。

⏩激活 细胞D5

=EXACT(B5,C5)

⏩然后点击 进入 按钮。

第2步。

⏩此后 双击 填充手柄 图标,将公式复制到其他单元格。

现在看一下它所显示的输出结果 失败 对于不同的值和 为真 为同一行中的匹配值。

阅读更多:在Excel中比较两个单元格并返回 "true "或 "false"(5种快速方法)。

方法2:布尔逻辑

我们可以用简单的 布尔型 对于不同的值,它将显示 是的 失败 为同一行中的匹配值。

步骤1。

⏩将给定的公式写在 细胞D5 -

=B5C5

⏩按一下 进入 按钮,并应用 填充手柄 图标来复制该公式。

下面是我们的输出-

方法3:IF函数

如果你使用 中频函数 布尔型 我已经设定,如果得到不同的文本,它将显示 "Unique",如果得到相同的文本,则显示 "Similar"。

步骤。

⏩在 细胞D5 键入公式-

=IF(B5C5, "独特", "类似")

⏩然后只要点击 进入 按钮,并使用 填充手柄 工具。

现在你将得到指定文本的输出。

阅读更多:在Excel中,如果2个单元格匹配,则返回YES(10种方法)。

方法4:用公式进行条件格式化

条件性格式化 是一个非常方便的选项,可以在Excel中比较文本并突出显示差异。 在这里,我们可以使用预先选择的颜色来突出显示差异。

步骤1。

⏩选择数据范围 B5:C12

⏩然后点击如下。 主页> 条件格式化> 新规则

一个格式化的对话框将被打开。

第2步。

⏩ 按U键 使用一个公式来确定哪些单元格需要格式化 选择一个规则类型 箱子。

⏩以后,在下面的公式中输入 格式化该公式为真的值 箱子-

=$B5$C5

⏩点击 格式。

然后' 格式化单元格'。 对话框会出现。

第3步。

⏩ 从 "我 "那里选择你想要的颜色。 填充 我选择了淡绿色。

⏩出版社 好的 它就会回到前一个对话框。

第4步。

⏩ 此刻,只要按下 认可 .

现在你看到,同一行中的所有不同的值现在都被挑出了颜色。

阅读更多:如何在Excel中比较两个单元格并改变颜色(2种方法)。

方法五:Excel VBA宏

我们可以在Excel中编写代码来执行任何所需的操作,而不是使用内置函数。 在这个方法中,我将使用以下方法来突出显示同一行中的差异 VBA 代码。

步骤1。

右键点击 你的鼠标移到工作表的标题上,打开 VBA 窗口。

第2步。

⏩写出下面的代码

 Sub highlight() Dim yRange1 As Range Dim yRange2 As Range Dim yText As String Dim yCell1 As Range Dim yCell2 As Range Dim I As Long Dim J As Integer Dim yLen As Integer Dim yDiffs As Boolean On Error Resume Next If ActiveWindow.RangeSelection.Count> 1 Then yText = ActiveWindow.RangeSelection.AddressLocal ElseyText =ActiveSheet.UsedRange.AddressLocal End If lOne: Set yRange1 = Application.InputBox("Range A:", "Compare Text", yText, , , , 8) If yRange1 Is Nothing Then Exit Sub If yRange1.Columns.Count> 1 Or yRange1.Area.Count> 1 Then MsgBox "多个范围或列已被选中" , vbInformation, "Compare Text" GoTo lOne End If lTwo: Set yRange2 =Application.InputBox("Range B:", "Compare Text", "", , , 8) If yRange2 Is Nothing Then Exit Sub If yRange2.Columns.Count> 1 Or yRange2.Areas.Count> 1 Then MsgBox "多个范围或列被选中" , vbInformation, " Compare Text" GoTo lTwo End If yRange1.CountLarge yRange2.CountLarge Then MsgBox "两个选中的范围必须有相同数量的单元格 ", vbInformation, "Compare Text" GoTo lTwo End If yDiffs = (MsgBox("Click Yes to highlight similarities, click No to highlight differences" , vbYesNo + vbQuestion, "Compare Text") = vbNo) Application.ScreenUpdating = False yRange2.Font.ColorIndex = xlAutomatic For I = 1 To yRange1.Count Set yCell1 = yRange1.Cells(I) Set yCell2 =yRange2.Cells(I) If yCell1.Value2 = yCell2.Value2 Then If Not yDiffs Then xCell2.Font.Color = vbRed Else yLen = Len(yCell1.Value2) For J = 1 To yLen If Not yCell1.Characters(J, 1).Text = yCell2.Characters(J, 1) Then Exit For Next J If Not yDiffs Then if J 1 ThenyCell2.Characters(1, J - 1).Font.Color = vbRed End If Else If J <= Len(yCell2.Value2) Then yCell2.Characters(J, Len(yCell2.Value2) - J + 1) .Font.Color = vbRed End If End If Next Application.ScreenUpdating = True End Sub 

之后,按一下 运行 图标来运行这些代码。

现在将打开一个对话框,选择第一个数据范围。

第3步。

⏩选择范围 B5:C12

⏩出版社 认可 然后将打开另一个对话框,选择第二个数据范围。

第4步。

⏩设置数据范围 C5:C12

⏩出版社 认可 再次。

第5步。

现在要突出显示差异,只需按下 没有 按钮。

现在请看,同一行中的不同文字现在都用红色突出显示。

在Excel中比较文本并突出显示所有行的差异的3种快速方法

方法1:条件性格式化

我们可以用 条件性格式化 工具来 在EXCEL中比较文本并突出显示差异 为所有的行,没有任何公式。

步骤1。

⏩ 选择数据范围 B5:C12

⏩然后点击如下。 主页> 条件格式化> 突出显示单元格规则> 重复值 .

一个对话框将被打开。

第2步。

⏩ 选择 独特的 选项和所需颜色,从 格式化包含以下内容的单元格 箱子。

⏩最后,只要按下 认可 .

所有不同的文本现在都用我们挑选的颜色突出显示。

方法2:IF+COUNTIF函数

为了比较Excel中的文本并突出显示差异,现在我们将结合两个函数,它们是 中频函数 COUNTIF函数 在这里,我们将检查以下文本 B栏 是否常见于 C列 或不在任何一行。 基金会 函数检查是否满足一个条件,如果为真则返回一个值,如果为假则返回另一个值。 COUNTIF 是用来计算满足单一条件的范围内的单元格。

步骤。

⏩键入公式,在 细胞D5 -

=IF(COUNTIF($C$5:$C$12,$B5)=0, "C中没有匹配", "C中匹配")

⏩击中了 进入 按钮。

⏩最后,使用 填充手柄 图标来复制组合的公式。

现在我们可以很容易地从下面的图片中找出区别--

公式分解。

countif($c$5:$c$12,$b5)=0

ǞǞǞ COUNTIF 函数将检查 细胞B5 通过范围 C5:C12 如果相等,它将返回1,否则返回0。

失败

IF(COUNTIF($C$5:$C$12,$B5)=0, "C中没有匹配", "C中匹配")

最后, 基金会 函数将显示 "在C中不匹配",因为 失败 和 "Match in C "为 为真 它将返回为-。

在C中没有匹配

方法3:ISERROR+VLOOKUP函数

最后,让我们用另一个函数的组合来完成前面的操作。 我们将应用 误差 VLOOKUP 功能。 它将检查文本的 B栏 通过 C列 ,如果它得到一个不常见的文本,那么它将显示 为真 如果没有,那么它将显示 失败 ...... 误差 Excel中的函数检查一个值是否为错误,并返回 为真 失败 ...... VLOOKUP 函数用于查找表格最左边一列中的一个值,并返回右边一列中的相应值。

步骤。

⏩键入给定的公式,在 细胞D5 -

=iserror(vlookup(b5,$c$5:$c$12,1,0))

⏩然后只需点击 进入 按钮,并使用 填充手柄 工具来复制该公式。

现在请看下面图片中的输出--

公式分解。

vlookup(b5,$c$5:$c$12,1,0)

ǞǞǞ VLOOKUP 函数将检查 细胞B5 通过范围 C5:C12 如果它找到一个共同的值,那么它将显示该值,否则将显示 #N/A 所以它的回报是 细胞B5 -

#N/A

iserror(vlookup(b5,$c$5:$c$12,1,0))

然后 误差 函数将显示" 为真 "为 #N/A 和" 失败 "用于其他输出。 对于 细胞B5 它将返回为-

"TRUE"

总结

我希望上面描述的所有方法都能很好地比较Excel中的文本,并突出差异。 欢迎在评论区提出任何问题,并请给我反馈。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.