Comment comparer deux chaînes pour la similitude ou mettre en évidence les différences dans Excel?
Dans certains cas, vous n'aurez peut-être besoin que de comparer deux cellules adjacentes de chaînes et de marquer leurs similitudes ou leurs différences dans Excel. Cet article vous propose deux méthodes pour y parvenir.
Comparez deux chaînes avec une formule
Comparez deux chaînes pour la similitude ou mettez en évidence les différences avec le code VBA
Comparez deux chaînes avec une formule
Comme illustré ci-dessous, si vous souhaitez simplement savoir si les chaînes comparées correspondent ou non, vous pouvez appliquer la formule suivante.
1. Sélectionnez une cellule vide C2, entrez la formule = EXACT (A2, B2) dans la barre de formule, puis appuyez sur la touche Entrée. Voir la capture d'écran:
Notes: Dans la formule, A2 et B2 sont les cellules contenant les chaînes de comparaison.
2. Continuez à sélectionner la cellule de résultat, puis faites glisser la poignée de remplissage vers les cellules jusqu'à obtenir tous les résultats comparés.
Le résultat FALSE signifie que les chaînes comparées sont différentes et le résultat TRUE indique que les deux chaînes comparées sont mises en correspondance. Voir la capture d'écran:
Comparez deux chaînes pour la similitude ou mettez en évidence les différences avec le code VBA
Si vous souhaitez comparer deux chaînes et mettre en évidence les similitudes ou les différences entre elles. Le code VBA suivant peut vous aider.
1. presse autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Ensuite, copiez et collez le code suivant dans la fenêtre Code.
Code VBA: Comparez deux chaînes de colonnes pour la similitude ou mettez en évidence les différences
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. appuie sur le F5 clé pour exécuter le code. En premier Kutools for Excel boîte de dialogue, sélectionnez la première colonne de chaînes de texte à comparer, puis cliquez sur le OK .
4. Puis le deuxième Kutools for Excel boîte de dialogue apparaît, veuillez sélectionner les chaînes de la deuxième colonne, puis cliquez sur le OK .
5. Dans le dernier Kutools for Excel boîte de dialogue, si vous souhaitez comparer des chaînes pour la similitude, cliquez sur le Oui bouton. Et pour mettre en évidence les différences des chaînes comparées, cliquez sur le bouton Non bouton. Voir la capture d'écran:
Ensuite, vous pouvez voir les résultats comparés comme ci-dessous.
Articles Liés:
- Comment comparer deux colonnes et mettre en évidence les données inégalées dans Excel?
- Comment comparer exactement deux chaînes (sensibles à la casse) dans Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!