Jak porównać dwie kolumny i znaleźć różnice w programie Excel?

45

Mam dwie kolumny w programie Excel, które chcę porównać i znaleźć różnice między nimi.

Przypuszczać:

  • Kolumna A ma 50 liczb, tj. 0511234567
  • Kolumna B ma 100 liczb w tym samym formacie
Sundhas
źródło
Myślę, że można to zrobić za pomocą wbudowanych funkcji i formuł programu Excel. Wydaje mi się to nie na temat.
Matt Handy
czy możesz określić, jak to zrobić?
Czy chcesz wiedzieć, które liczby są tylko w kolumnie A, a które tylko w kolumnie B?
Tom Shaw
Zobacz to SO pytanie, aby uzyskać odpowiedź.
Patrick Honorez
Nie, najpierw chcę poznać wszystkie liczby, które nie są w kolumnie A, ale w kolumnie B, a następnie chcę poznać wszystkie liczby, które są w kolumnie A, ale nie w kolumnie B.

Odpowiedzi:

55

Korzystanie z formatowania warunkowego

Podkreślić kolumny A . Kliknij Formatowanie warunkowe > Utwórz nową regułę > Użyj tej formuły, aby określić, które komórki sformatować > Wpisz ff. formuła:

=countif($B:$B, $A1)

Kliknij przycisk Format i zmień kolor czcionki na coś, co lubisz.

Powtórz to samo dla kolumny B , z wyjątkiem tej formuły i wypróbuj inny kolor czcionki.

=countif($A:$A, $B1)

Korzystanie z oddzielnej kolumny

W kolumnie C wpisz ff. formułę do pierwszej komórki, a następnie skopiuj ją w dół.

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

W kolumnie D wpisz ff. formułę do pierwszej komórki, a następnie skopiuj ją w dół.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Oba powinny pomóc w wizualizacji, które elementy brakuje w drugiej kolumnie.

Ellesa
źródło
Na jakich wersjach programu Excel testowano to?
Peter Mortensen
1
Gdzie jest „formatowanie warunkowe”? W menu? W menu kontekstowym?
Peter Mortensen
W starszej wersji OpenOffice, odpowiadającej wstążce Excel (w końcu jest to klon Excela), dostępne jest polecenie menu Format -> Formatowanie warunkowe .
Peter Mortensen
1
Chodzi o Excela, ale w OpenOffice / LibreOffice przy użyciu $B:$Bodniesienia do całej kolumny Bnie działa. Zamiast tego użyj $B$1:$B$1048576(gdzie 1048576 jest wierszem o najwyższym numerze). Uwaga $przed liczbami (tak zwane odniesienia bezwzględne ) - powoduje to, że działa ona zgodnie z oczekiwaniami dla operacji takich jak Wypełnij w dół (określane tutaj jako „skopiuj w dół”) lub Wypełnij .
Peter Mortensen
14

Microsoft ma artykuł opisujący, jak znaleźć duplikaty w dwóch kolumnach. Można go łatwo zmienić, aby znaleźć unikalne elementy w każdej kolumnie.

Na przykład jeśli chcesz, aby kolumna C wyświetlała wpisy unikatowe dla kolumny A, a kolumna D pokazała wpisy unikalne dla kolumny B:

A   B   C                                          D
1   3   =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"")  =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2   5   (fill down)                                (fill down)
3   8   ..                                         ..
4   2   ..                                         ..
5   0   ..                                         ..
Tom Shaw
źródło
4

Powiedz, że chcesz je znaleźć w kol. B bez dopasowania w kol. A. Wprowadź C2:

=COUNTIF($A$2:$A$26;B2)

To da ci 1 (lub więcej), jeśli jest dopasowanie, 0 w przeciwnym razie.

Możesz także posortować obie kolumny osobno, a następnie wybrać obie, Idź do Specjalnej, wybierz Różnice rzędów. Ale to przestanie działać po pierwszym nowym elemencie i będziesz musiał wstawić komórkę, a następnie zacząć od nowa.

Patrick Honorez
źródło
4

Jeśli dobrze rozumiem twoje pytanie:

=if(Ax = Bx; True_directive ; False_directive)

Zastąp dyrektywy True / false przez funkcję lub ciąg znaków taki jak „Equal” lub „different”.

Peter Mortensen
źródło
@pasta to nie zadziała, jeśli dwie kolumny nie zostaną posortowane podobnie - myślę, że pytanie nie dotyczy tego.
SIslam,
3

To zależy od formatu komórek i wymagań funkcjonalnych. Z wiodącym „0” można je sformatować jako tekst.

Następnie możesz użyć funkcji JEŻELI do porównania komórek w programie Excel:

=IF ( logical_test, value_if_true, value_if_false )

Przykład:

=IF ( A1<>A2, "not equal", "equal" )

Jeśli są sformatowane jako liczby, możesz odjąć pierwszą kolumnę od drugiej, aby uzyskać różnicę:

=A1-A2
Matt Handy
źródło
2

Ta formuła bezpośrednio porówna dwie komórki. Jeśli są takie same, drukuje True, jeśli istnieje jedna różnica, drukuje False. Ta formuła nie wydrukuje różnic.

=IF(A1=B1,"True","False")
Alex
źródło
1

Korzystam z programu Excel 2010 i po prostu podświetl dwie kolumny, które mają dwa zestawy wartości, które porównuję, a następnie kliknij menu rozwijane Formatowanie warunkowe na stronie głównej programu Excel, wybierz reguły Podświetl komórki, a następnie różnice. Następnie wyświetla monit o wyróżnienie różnic lub podobieństw i pyta, jakiego koloru podświetlenia chcesz użyć ...

Peter McGuire
źródło
0

Porównania można dokonać za pomocą kodu Excel VBA. Proces porównywania można wykonać za pomocą funkcji Excel VBA Worksheet.Countif.

Dwie kolumny w różnych arkuszach zostały porównane w tym szablonie. Stwierdził różne wyniki, ponieważ cały wiersz został skopiowany do drugiego arkusza roboczego.

Kod:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

Samouczek wideo: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Przykładowy plik można pobrać tutaj

kadrleyn
źródło
1
Jeśli masz zamiar utworzyć link do swojego bloga i kanału YouTube, musisz ujawnić swoje powiązanie. Jeśli tego nie zrobisz, możesz zostać oskarżony o spamowanie.
DavidPostill
0

Korzysta z innego narzędzia, ale po prostu bardzo łatwo to zrobić. Za pomocą Notepad ++:

W programie Excel upewnij się, że 2 kolumny są posortowane w tej samej kolejności, a następnie skopiuj i wklej kolumny do 2 nowych plików tekstowych, a następnie uruchom porównanie (z menu wtyczek).

Etienne
źródło
0

NOT MATCH kombinacja funkcja działa dobrze. Działa również:

= JEŻELI ( CZY.BŁĄD ( WYSZUKAJ.PIONOWO (<< pozycja na większej liście >>, << lista smaler >>, 1 , FAŁSZ )), << pozycja na większej liście >>, „”)

PAMIĘTAJ: mniejsza lista MUSI BYĆ SORTOWANA WSTĘPNIE - wymaganie vlookup

Moibi Kerandi
źródło