Strona główna
Office
Excel porównanie dwóch kolumn – jak to zrobić?

Excel porównanie dwóch kolumn – jak to zrobić?

✦ AI
Monitor komputerowy wyświetlający arkusz kalkulacyjny z wyróżnionymi kolumnami danych i wykresami analizy.

Porównanie dwóch kolumn w Excelu możesz wykonać na trzy sposoby: podświetlić różnice za pomocą formatowania warunkowego, oznaczyć wynik formułą albo zautomatyzować analizę makrem VBA. Wybór zależy od tego, czy potrzebujesz tylko szybkiego podglądu, czy także raportu i obsługi większej liczby danych.

Którą metodę wybrać?

Metoda Zastosowanie Trudność
Formatowanie warunkowe Szybkie podświetlanie duplikatów i różnic w arkuszu Niska
Formuły Oznaczanie zgodności w osobnej kolumnie i filtrowanie wyników Niska
VBA Automatyczne wyszukiwanie brakujących rekordów w większych zakresach Średnia

Porównanie kolumn za pomocą formatowania warunkowego

Formatowanie warunkowe jest najszybsze, gdy chcesz od razu zobaczyć, które wartości powtarzają się w dwóch kolumnach. Załóżmy, że dane znajdują się w zakresach A2:A100 i B2:B100.

Aby podświetlić wartości występujące w obu kolumnach:

  1. Zaznacz oba zakresy, na przykład A2:B100.
  2. Otwórz kartę Narzędzia główne i wybierz Formatowanie warunkowe.
  3. Przejdź do Reguły wyróżniania komórek, a następnie wybierz Duplikujące się wartości.
  4. Wybierz sposób wyróżnienia i zatwierdź przyciskiem OK.

Excel oznaczy wartości, które występują więcej niż raz w zaznaczonym zakresie. Ta metoda jest wygodna, gdy obie kolumny zawierają listy, a kolejność rekordów nie ma znaczenia.

Jeżeli chcesz podświetlić różnice tylko w drugim zakresie, zastosuj regułę opartą na formule:

  1. Zaznacz drugi zakres, na przykład H2:H100.
  2. Wybierz Narzędzia główne → Formatowanie warunkowe → Nowa reguła.
  3. Wybierz regułę pozwalającą użyć formuły lub warunku dla wartości komórki.
  4. Ustaw warunek nierówności względem pierwszej komórki pierwszego zakresu, na przykład =G2.
  5. Wybierz format wyróżnienia i zatwierdź regułę.

Adres G2 musi wskazywać pierwszą komórkę zakresu porównawczego. Jeśli pierwszy zakres zaczyna się w innej komórce, wpisz jej adres. Błędne wskazanie pierwszej komórki może spowodować przesunięcie porównania i nieprawidłowe kolory.

Porównanie dwóch kolumn za pomocą formuły

Formuła jest lepszym rozwiązaniem, gdy chcesz otrzymać jednoznaczny wynik w osobnej kolumnie, a następnie filtrować rekordy zgodne lub różniące się.

Załóżmy, że porównujesz komórki A2 i B2. W komórce C2 wpisz:

=JEŻELI(A2=B2; "OK"; "Różnica")

Funkcja JEŻELI sprawdza, czy wartości w tym samym wierszu są identyczne. Gdy warunek jest spełniony, pojawi się tekst „OK”, a w przeciwnym razie „Różnica”.

  1. Wpisz formułę w komórce C2.
  2. Naciśnij Enter.
  3. Chwyć uchwyt wypełniania w prawym dolnym rogu komórki.
  4. Przeciągnij go w dół do ostatniego wiersza danych.

Ta formuła porównuje wartości wiersz po wierszu. Jeśli kolejność rekordów w kolumnach jest różna, użyj wyszukiwania zamiast prostego porównania pozycji. Przy danych tekstowych zwróć uwagę na zbędne spacje, ponieważ Excel może potraktować tekst „ABC” i „ABC ” jako różne wartości.

Przed porównaniem możesz oczyścić dane funkcją USUŃ.ZBĘDNE.ODSTĘPY, na przykład:

Automatyczne porównanie kolumn za pomocą VBA

Makro VBA przydaje się, gdy regularnie porównujesz duże zakresy i chcesz zaznaczyć w kolumnie A rekordy, których nie ma w kolumnie B. Poniższy kod koloruje takie komórki na żółto.

Przed uruchomieniem makra utwórz kopię pliku. Następnie naciśnij Alt+F11, wybierz Wstawianie → Moduł i wklej kod:

Sub PorownajKolumny()

    Dim kol_A As Range
    Dim kol_B As Range
    Dim znaleziono As Boolean

    ' Zakres pierwszej kolumny do sprawdzenia
    For Each kol_A In Range("A2:A100")

        ' Pomijamy puste komórki
        If kol_A.Value <> "" Then

            znaleziono = False

            ' Zakres drugiej kolumny, w której szukamy wartości
            For Each kol_B In Range("B2:B100")

                If kol_A.Value = kol_B.Value Then
                    znaleziono = True
                    Exit For
                End If

            Next kol_B

            ' Kolorujemy wartości nieznalezione w kolumnie B
            If znaleziono = False Then
                kol_A.Interior.Color = RGB(255, 255, 0)
            End If

        End If

    Next kol_A

End Sub

Zakresy A2:A100 i B2:B100 zastąp własnymi adresami. Pierwszy zakres określa rekordy, które mają zostać sprawdzone, a drugi wskazuje kolumnę, w której makro szuka odpowiedników.

Makro korzysta z pętli For Each. Dla każdej niepustej komórki z kolumny A przeszukuje kolumnę B. Jeśli znajdzie taką samą wartość, przechodzi do następnego rekordu. Gdy dopasowania nie ma, koloruje komórkę w kolumnie A.

Jeżeli zamiast koloru chcesz otrzymać opis w trzeciej kolumnie, zamień instrukcję kolorowania na:

kol_A.Offset(0, 2).Value = "Nie występuje"

Wtedy Excel wpisze komunikat dwie kolumny na prawo od sprawdzanej komórki, czyli na przykład w kolumnie C, gdy analizowana komórka znajduje się w kolumnie A.

Redakcja ithings.pl

Witaj na ithings.pl! Tworzymy zespół praktyków, którzy w przystępny sposób pomagają opanować codzienne wyzwania technologiczne - od konfiguracji poczty i sieci, przez obsługę sprzętu i drukarek, po bezpieczeństwo danych i świat gier. Zostań z nami i korzystaj z technologii bez przeszkód!

Może Cię również zainteresować

Potrzebujesz więcej informacji?