Jak porovnat dva řetězce pro podobnost nebo zvýraznit rozdíly v aplikaci Excel?
V některých případech možná budete muset pouze porovnat dvě sousední buňky řetězců a označit jejich podobnosti nebo rozdíly v aplikaci Excel. Tento článek poskytuje dvě metody, jak toho dosáhnout.
Porovnejte dva řetězce se vzorcem
Porovnejte dva řetězce pro podobnost nebo zvýrazněte rozdíly s kódem VBA
Porovnejte dva řetězce se vzorcem
Jak je ukázáno na níže uvedeném snímku obrazovky, pokud chcete vědět, zda jsou porovnávané řetězce shodné nebo ne, můžete použít následující vzorec.
1. Vyberte prázdnou buňku C2, zadejte vzorec = PŘESNÉ (A2; B2) do řádku vzorců a poté stiskněte klávesu Enter. Viz snímek obrazovky:
Poznámka: Ve vzorci jsou A2 a B2 buňky obsahující porovnávací řetězce.
2. Pokračujte ve výběru výsledné buňky a poté přetáhněte rukojeť Vyplnění do buněk, dokud nezískáte všechny porovnávané výsledky.
Výsledek FALSE znamená, že porovnávané řetězce jsou odlišné a výsledek TRUE označuje, že dva porovnávané řetězce jsou shodné. Viz snímek obrazovky:
Porovnejte dva řetězce pro podobnost nebo zvýrazněte rozdíly s kódem VBA
Pokud chcete porovnat dva řetězce a zvýraznit podobnosti nebo rozdíly mezi nimi. Následující kód VBA vám může pomoci.
1. lis Další + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.
2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté zkopírujte a vložte následující kód do okna Kód.
Kód VBA: Porovnejte dva řetězce sloupců pro podobnost nebo zvýrazněte rozdíly
Sub highlight()
Dim xRg1 As Range
Dim xRg2 As Range
Dim xTxt As String
Dim xCell1 As Range
Dim xCell2 As Range
Dim I As Long
Dim J As Integer
Dim xLen As Integer
Dim xDiffs As Boolean
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg1 = Application.InputBox("Range A:", "Kutools for Excel", xTxt, , , , , 8)
If xRg1 Is Nothing Then Exit Sub
If xRg1.Columns.Count > 1 Or xRg1.Areas.Count > 1 Then
MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
lTwo:
Set xRg2 = Application.InputBox("Range B:", "Kutools for Excel", "", , , , , 8)
If xRg2 Is Nothing Then Exit Sub
If xRg2.Columns.Count > 1 Or xRg2.Areas.Count > 1 Then
MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
If xRg1.CountLarge <> xRg2.CountLarge Then
MsgBox "Two selected ranges must have the same numbers of cells ", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
xDiffs = (MsgBox("Click Yes to highlight similarities, click No to highlight differences ", vbYesNo + vbQuestion, "Kutools for Excel") = vbNo)
Application.ScreenUpdating = False
xRg2.Font.ColorIndex = xlAutomatic
For I = 1 To xRg1.Count
Set xCell1 = xRg1.Cells(I)
Set xCell2 = xRg2.Cells(I)
If xCell1.Value2 = xCell2.Value2 Then
If Not xDiffs Then xCell2.Font.Color = vbRed
Else
xLen = Len(xCell1.Value2)
For J = 1 To xLen
If Not xCell1.Characters(J, 1).Text = xCell2.Characters(J, 1).Text Then Exit For
Next J
If Not xDiffs Then
If J <= Len(xCell2.Value2) And J > 1 Then
xCell2.Characters(1, J - 1).Font.Color = vbRed
End If
Else
If J <= Len(xCell2.Value2) Then
xCell2.Characters(J, Len(xCell2.Value2) - J + 1).Font.Color = vbRed
End If
End If
End If
Next
Application.ScreenUpdating = True
End Sub
3. zmáčkni F5 klíč ke spuštění kódu. Zaprvé Kutools pro Excel V dialogovém okně vyberte první sloupec textových řetězců, které potřebujete porovnat, a poté klikněte na OK .
4. Potom druhý Kutools pro Excel Zobrazí se dialogové okno, vyberte řetězce druhého sloupce a klikněte na OK .
5. V posledním Kutools pro Excel Pokud chcete porovnat řetězce s podobností, klikněte na dialogové okno Ano knoflík. Chcete-li zvýraznit rozdíly porovnávaných řetězců, klikněte na ikonu Ne knoflík. Viz screenshot:
Pak můžete vidět srovnávané výsledky, jak je uvedeno níže.
Související články:
- Jak porovnat dva sloupce a zvýraznit neporovnaná data v aplikaci Excel?
- Jak přesně porovnat dva řetězce (velká a malá písmena) v aplikaci Excel?
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!