Come confrontare due stringhe per somiglianza o evidenziare le differenze in Excel?
In alcuni casi, potrebbe essere necessario confrontare solo due celle adiacenti di stringhe e contrassegnarne le somiglianze o le differenze in Excel. Questo articolo fornisce due metodi per ottenerlo.
Confronta due stringhe con la formula
Confronta due stringhe per somiglianza o evidenzia le differenze con il codice VBA
Confronta due stringhe con la formula
Come mostrato nell'immagine sottostante, se vuoi solo sapere se le stringhe confrontate sono abbinate o meno, puoi applicare la seguente formula.
1. Selezionare una cella vuota C2, immettere la formula = ESATTO (A2, B2) nella barra della formula, quindi premere il tasto Invio. Vedi screenshot:
Note:: Nella formula, A2 e B2 sono le celle che contengono le stringhe di confronto.
2. Continuare a selezionare la cella del risultato, quindi trascinare la maniglia di riempimento sulle celle fino a ottenere tutti i risultati confrontati.
Il risultato FALSE significa che le stringhe confrontate sono diverse e il risultato TRUE indica che le due stringhe confrontate sono abbinate. Vedi screenshot:
Confronta due stringhe per somiglianza o evidenzia le differenze con il codice VBA
Se vuoi confrontare due stringhe ed evidenziare le somiglianze o le differenze tra di loro. Il seguente codice VBA può aiutarti.
1. Stampa altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.
2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Moduli. Quindi copia e incolla il seguente codice nella finestra del codice.
Codice VBA: confronta due stringhe di colonna per somiglianza o evidenzia differenze
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. premi il F5 chiave per eseguire il codice. Nel primo Kutools for Excel finestra di dialogo, selezionare la prima colonna di stringhe di testo da confrontare, quindi fare clic su OK pulsante.
4. Poi il secondo Kutools for Excel si apre la finestra di dialogo, selezionare le stringhe della seconda colonna e fare clic su OK pulsante.
5. Nell'ultimo Kutools for Excel finestra di dialogo, se si desidera confrontare le stringhe per la somiglianza, fare clic su Sì pulsante. E per evidenziare le differenze delle stringhe confrontate, fare clic su Non pulsante. Vedi screenshot:
Quindi puoi vedere i risultati confrontati come mostrato nell'immagine sottostante.
Articoli correlati:
- Come confrontare due colonne ed evidenziare i dati senza corrispondenza in Excel?
- Come confrontare esattamente due stringhe (case sensitive) in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!