Table of contents
在某些情况下,我们可能只需要 比较字符串的文本 本文将指导你用八种简单的方法来比较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中的文本,并突出差异。 欢迎在评论区提出任何问题,并请给我反馈。