Przejdź do głównej zawartości
 

Jak porównać dwa ciągi pod kątem podobieństwa lub wyróżnić różnice w programie Excel?

Autor: Silvia Ostatnia modyfikacja: 2024-08-23

W niektórych przypadkach może być konieczne tylko porównanie dwóch sąsiednich komórek ciągów i zaznaczenie ich podobieństw lub różnic w programie Excel. W tym artykule przedstawiono dwie metody osiągnięcia tego celu.

Porównaj dwa ciągi ze wzorem
Porównaj dwa ciągi pod względem podobieństwa lub wyróżnij różnice z kodem VBA


Porównaj dwa ciągi ze wzorem

Jak pokazano na poniższym zrzucie ekranu, jeśli chcesz tylko wiedzieć, czy porównywane ciągi są dopasowane, czy nie, możesz zastosować następującą formułę.

przykładowe dane

1. Wybierz pustą komórkę C2, wprowadź formułę = PORÓWNAJ (A2; B2) do paska formuły, a następnie naciśnij klawisz Enter. Zobacz zrzut ekranu:

Porównaj dwa ciągi znaków za pomocą formuły

Note: We wzorze A2 i B2 to komórki zawierające porównywane ciągi.

2. Kontynuuj wybieranie komórki wynikowej, a następnie przeciągnij uchwyt wypełnienia do komórek, aż uzyskasz wszystkie porównane wyniki.

Wynik FALSE oznacza, że ​​porównywane ciągi są różne, a wynik TRUE wskazuje, że dwa porównywane ciągi są dopasowane. Zobacz zrzut ekranu:

przeciągnij formułę w dół, aby uzyskać porównane wyniki

zrzut ekranu kutools dla Excel AI

Odblokuj magię Excela za pomocą Kutools AI

  • Inteligentne wykonanie: Wykonuj operacje na komórkach, analizuj dane i twórz wykresy — a wszystko to za pomocą prostych poleceń.
  • Formuły niestandardowe: Generuj dostosowane formuły, aby usprawnić przepływ pracy.
  • Kodowanie VBA: Pisz i wdrażaj kod VBA bez wysiłku.
  • Interpretacja formuły: Z łatwością zrozum złożone formuły.
  • Tłumaczenie tekstu: Przełam bariery językowe w arkuszach kalkulacyjnych.
Zwiększ możliwości programu Excel dzięki narzędziom opartym na sztucznej inteligencji. Pobierz teraz i doświadcz wydajności jak nigdy dotąd!

Porównaj dwa ciągi pod względem podobieństwa lub wyróżnij różnice z kodem VBA

Jeśli chcesz porównać dwa ciągi znaków i podkreślić podobieństwa lub różnice między nimi. Poniższy kod VBA może ci pomóc.

1. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej następujący kod do okna Code.

Kod VBA: porównaj dwa ciągi kolumn pod kątem podobieństwa lub wyróżnij różnice

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. wciśnij F5 klucz do uruchomienia kodu. Na początku Kutools dla programu Excel W oknie dialogowym wybierz pierwszą kolumnę ciągów tekstowych, które chcesz porównać, a następnie kliknij OK przycisk.

kod vba, aby wybrać pierwszą listę

4. Następnie drugi Kutools dla programu Excel pojawi się okno dialogowe, wybierz ciągi drugiej kolumny i kliknij OK przycisk.

kod vba, aby wybrać drugą listę

5. W ostatnim Kutools dla programu Excel w oknie dialogowym, jeśli chcesz porównać ciągi pod względem podobieństwa, kliknij przycisk Tak przycisk. Aby podświetlić różnice w porównywanych ciągach, kliknij Nie przycisk. Zobacz zrzut ekranu:

wybierz przycisk tak lub nie w zależności od potrzeb

Następnie możesz zobaczyć porównane wyniki, jak pokazano poniżej.

podobieństwo lub różnice zostaną podkreślone


Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!