Wie vergleiche ich zwei Excel-Tabellen?

8

Ich möchte zwei Excel-Tabellen vergleichen

Beide haben dieselben Spalten in derselben Reihenfolge, aber nicht dieselben Zeilen.

Ich habe eine Tabelle mit 1.000 Zeilen und 50 Spalten, einschließlich einer eindeutigen ID für jede Zeile und persönlichen Daten (Adresse, Telefonnummer usw.).

Ich möchte es mit derselben Basis vergleichen, die vor einem Jahr extrahiert wurde.

Mein Ziel ist es, alle Änderungen zu kennen (zum Beispiel jemanden, der seine Adresse geändert hat).

Ich habe es mit einer Tabelle versucht (wie hier erklärt: Vergleichen Sie zwei Excel-Dateien ), aber es funktioniert nicht, weil ich in meiner "neuen" Datei neue Zeilen habe und einige Zeilen in der alten Datei, die nicht in der neuen sind.

Tabellenkalkulation mit Excel-Zeilennummer vergleichen. Ist es möglich, mit der ersten Spalte (eindeutige ID) zu vergleichen?

Hier ist ein sehr vereinfachtes Beispiel: https://filebin.net/g4w98251y9mfwug6

Es gibt zwei Blätter, die meine zwei Tabellen darstellen.

Wie Sie sehen können, haben beide die gleichen Spalten, aber:

  • Es gibt Zeilen auf beiden Blättern ohne Änderungen (alle Zeilen sind gleich)
  • Es gibt Zeilen auf beiden Blättern, aber es gibt Änderungen (in meinem Beispiel orange)
  • Es gibt Zeilen, die nur im Dezemberblatt enthalten sind (ich muss diese Zeilen nicht identifizieren).
  • Es gibt Zeilen, die nur im Januar-Blatt enthalten sind (in meinem Beispiel in Orange).

Die orange Farbe ist genau das, was ich will, aber in diesem Beispiel kann ich es manuell tun: Dezember und Januar vergleichen. In den realen Tabellen kann ich dies nicht manuell tun, da es zu viele Änderungen, Daten, Zeilen, Spalten usw. gibt, und ich werde dies monatlich tun.

Es gibt nur eine Spalte, die sich niemals ändern kann: die Spalte A.

CILUEA
quelle
Zu Ihrer Information, Leute laden keine Dateien herunter, besonders wenn sie von unbekannten Benutzern gepostet werden. Ich sage nicht, dass Sie keine Dateien hochladen und Links zu ihnen posten sollten, sondern versuchen, Ihre Frage für sich zu stellen - es sollte möglich sein, sie zu verstehen, ohne sich Dateien anzusehen. Ich glaube tatsächlich, dass Ihre Frage in Ordnung ist; Ich konnte es beantworten, ohne auf die Akte zu schauen. Aber natürlich sind Fragen (insbesondere Excel-Fragen) mit Beispieldaten klarer. … (Fortsetzung)
Scott
1
(Fortsetzung)… Wir bevorzugen, dass Sie eine Textdarstellung Ihrer Daten veröffentlichen, wie dies hier und hier geschehen ist . Verwenden Sie die Site Text als Tabelle formatieren oder die Site Generator für Nur-Text-Tabellen, wenn Sie möchten. Ich schlage vor, dass die Daten, die ich in meiner Antwort verwendet habe, genau die richtige Menge sind: eine Zeile in jeder der vier Kategorien, die Sie in der Frage identifiziert haben.
Scott
Es gibt ein nettes Excel-Vergleichstool. Es kann 2 Excel-Dateien vergleichen und Unterschiede abmelden. Sie können auch Araxis Merge ausprobieren, obwohl es nicht kostenlos ist.
Kromster

Antworten:

4

Es ist praktisch, dass Ihre Tabelle 50 Spalten verwendet, da dies bedeutet, dass die Spalten Nr. 51, Nr. 52,… verfügbar sind. Ihr Problem lässt sich ziemlich einfach mit der Verwendung einer "Hilfsspalte" lösen, die wir in die Spalte  AZ(Spalte 52) einfügen können. Ich werde diese Zeile 1 auf jedem Ihrer Blätter enthält Header übernehmen (die WorteID , Name, Address, etc.) , so dass Sie nicht diejenigen zu vergleichen brauchen (da Ihre Spalten in derselben Reihenfolge in beiden Blätter sind). Ich gehe auch davon aus, dass sich die ID(eindeutige Kennung) in der Spalte befindet  A. (Falls dies nicht der Fall, wird die Antwort eines wenig etwas komplizierter, aber immer noch ziemlich einfach.) In der Zelle  AZ2(die verfügbaren Spalte in der ersten Reihe für Daten verwendet), geben Sie

=B2&C2&D2&…&X2&Y2&Z2&AA2&AB2&AC3&…&AX2

Auflistung aller Zellen von  B2bis  AX2&ist der Textverkettungsoperator. Wenn also B2enthält Andyund C2enthält New York, B2&C2wird ausgewertet AndyNew York. In ähnlicher Weise verkettet die obige Formel alle Daten für eine Zeile (mit Ausnahme der ID) und ergibt ein Ergebnis, das ungefähr so ​​aussehen könnte:

AndyNew York1342 Wall StreetInvestment BankerElizabeth2catcollege gradUCLA…

Die Formel ist lang und umständlich zu tippen, aber Sie müssen sie nur einmal ausführen (beachten Sie jedoch den Hinweis unten, bevor Sie dies tatsächlich tun). Ich habe gezeigt, wie es durchgeht, AX2weil Spalte  AXSpalte # 50 ist. Natürlich sollte die Formel jede andere Datenspalte als abdecken ID. Insbesondere sollte es jede Datenspalte enthalten, die Sie vergleichen möchten. Wenn Sie eine Spalte für das Alter der Person haben, ist diese (automatisch?) Jedes Jahr für alle anders, und Sie möchten nicht, dass dies gemeldet wird. Und natürlich sollte sich die Hilfsspalte, die die Verkettungsformel enthält, irgendwo rechts von der letzten Datenspalte befinden.

Wählen Sie nun die Zelle aus  AZ2und ziehen Sie sie durch alle 1000 Zeilen. Und das auf beiden Arbeitsblättern.

Wählen Sie schließlich auf dem Blatt, auf dem die Änderungen hervorgehoben werden sollen (ich denke, was Sie sagen, dass dies das aktuellere Blatt ist), alle Zellen aus, die hervorgehoben werden sollen. Ich weiß nicht, ob dies nur eine Spalte  Aoder nur eine Spalte  Boder die gesamte Zeile (dh Adurch  AX) ist. Wählen Sie diese Zellen in den Zeilen 2 bis 1000 aus (oder wo immer Ihre Daten eventuell ankommen) und gehen Sie zu "Bedingte Formatierung" → "Neue Regel ...", wählen Sie "Verwenden Sie eine Formel, um zu bestimmen, welche Zellen formatiert werden sollen" und geben Sie ein

=IFERROR(VLOOKUP($A2,'December 2017'!$A$2:$AZ$1000,52,FALSE), "") <> $AZ2

in das Feld "Werte formatieren, in denen diese Formel wahr ist". Dadurch wird der IDWert aus der aktuellen Zeile des aktuellen Blattes ("Januar 2018") (in der Zelle  $A2) übernommen, in der Spalte  Ades vorherigen Blattes ("Dezember 2017") danach gesucht, der verkettete Datenwert aus dieser Zeile abgerufen und verglichen auf den verketteten Datenwert in dieser Zeile. (Natürlich AZist dies die Hilfsspalte, 52die Spaltennummer der Hilfsspalte und 1000die letzte Zeile auf dem Blatt „Dezember 2017“, die Daten enthält - oder etwas höher; z. B. können Sie eingeben, 1200anstatt sich um die Genauigkeit zu sorgen.) Klicken Sie dann auf "Formatieren" und geben Sie die gewünschte bedingte Formatierung an (z. B. orange Füllung).

Ich habe ein Beispiel mit nur wenigen Zeilen und nur wenigen Datenspalten mit der Hilfsspalte in Spalte erstellt  H:

Blatt des Vormonats / Jahres (Dezember 2017)

Blatt für den aktuellen Monat / das aktuelle Jahr (Januar 2018) mit orange hervorgehobenen Änderungen

Beachten Sie, dass Andys Reihe orange gefärbt ist, weil er von New York nach Los Angeles gezogen ist, und Debras Reihe orange gefärbt ist, weil sie ein neuer Eintrag ist.

Hinweis:   Wenn eine Zeile möglicherweise Werte wie theund reactin zwei aufeinander folgenden Spalten enthält und dies im folgenden Jahr zu thereund geändert werden kann act, wird dies nicht als Unterschied gemeldet, da wir nur den verketteten Wert vergleichen und das ( thereact) ist das gleiche auf beiden Blättern. Wenn Sie sich darüber Sorgen machen, wählen Sie ein Zeichen aus, das wahrscheinlich nie in Ihren Daten enthalten ist (z. B. |), und fügen Sie es zwischen die Felder ein. Ihre Hilfsspalte würde also enthalten

=B2&"|"&C2&"|"&D2&"|"&…&"|"&X2&"|"&Y2&"|"&Z2&"|"&AA2&"|"&AB2&"|"&AC3&"|"&…&"|"&AX2

Daraus resultieren Daten, die folgendermaßen aussehen könnten:

Andy | New York | 1342 Wall Street | Investmentbanker | Elizabeth | 2 | Katze | Hochschulabschluss | UCLA |…

und die Änderung wird gemeldet, weil the|react ≠  there|act. Sie sollten sich darüber wahrscheinlich Sorgen machen, aber basierend auf Ihren tatsächlichen Spalten haben Sie möglicherweise Grund zu der Gewissheit, dass dies niemals ein Problem sein wird.

Sobald dies funktioniert, können Sie die Hilfsspalten ausblenden.

Scott
quelle
1

Gehen Sie zur Registerkarte Ansicht und klicken Sie auf Neues Fenster. Gehen Sie zum neuen Fenster und klicken Sie nebeneinander. Sie können das Scrollen synchronisieren, indem Sie auf Synchrones Scrollen klicken. Überprüfen Sie das angehängte Bild: Excel-Tabellen nebeneinander

Durch synchrones Scrollen können Sie verschiedene Arbeitsblätter gleichzeitig scrollen. Durch Umschalten der Schaltfläche können Sie beide zusammen anzeigen und nur ein Arbeitsblatt scrollen.

Cetza Nido
quelle
Ich habe mehr als 1 000 Zeilen in jeder Tabelle ... 50 Spalten ... einige Daten sind sehr schwer zu vergleichen, wenn sie angezeigt werden (Bankdaten, Telefonnummer, Daten ...). Es ist zu lang, um so fortzufahren, und es besteht ein Risiko Fehler / Auslassung Ich muss dies monatlich tun. Es gibt keine schnellere Lösung? :(
CILUEA
In derselben Ansicht können Sie Filter auf die Spalten anwenden. Fügen Sie Suchformeln zu einem der Arbeitsblätter hinzu.
Cetza Nido
Ich möchte keine Filter auf die Spalten anwenden ... Ich habe zwei Tabellenkalkulationen (eine Zeile = ein Mitarbeiter) und möchte die geänderten Daten (Adresse, Telefon ..) für jeden Mitarbeiter zwischen der alten Tabelle (letzte) hervorheben Monat) und die neue Tabelle (diesen Monat) Ich kann es nicht jeden Monat manuell machen. Es sind mehr als 1 000 Zeilen in jeder Tabelle und 50 Spalten
CILUEA
Sie können die Such- ODER Index- + Übereinstimmungsformel zusammen mit der bedingten Formatierung verwenden. Ist es möglich, Ihr Blatt mit einigen Beispieldaten zu teilen?
Cetza Nido
Ich habe meinen Beitrag mit einem Beispiel und weiteren Erklärungen bearbeitet. Danke!
CILUEA
1

Ok, Sie können also eines von zwei Dingen tun.

1.- Die OOTB-Lösung lautet "Daten" -> "Datentools" -> "Duplikate löschen (dies ist die direkte Übersetzung aus dem Spanischen)". Auf diese Weise müssen Sie beide Tabellen anhängen, und Sie erhalten nur die Daten, die geändert wurden, und nur Eindeutigkeiten. CountIfUm die Verwendung Ihrer Uniqueids herauszufiltern, deaktivieren Sie die Option 1. Bestellen Sie nach UniqueId, und Sie werden deutlich sehen, was geändert wurde.

2.-Verwenden Sie diese Formel

IF(Index("rangetoreturn";Match("CellofUniqueID";"Rangeofuniqueidtolookinto";0))<>"OneOftheCellthatcontainsthesameasRangeToReturn";"Info Has Changed";"InfoHasNotChanged")

Diese Formel kann nach rechts und unten verschoben werden. Sie erhalten also eine Tabelle mit der if-Bedingung mit der gleichen Anzahl von Zeilen wie die Tabelle von "CellofUniqueID". Die Position von "Info hat sich geändert" zeigt an, welche Zelle in der anderen Tabelle ihren Inhalt geändert hat. Verwenden Sie diese Formel also in einem neuen Blatt und erstellen Sie eine neue Tabelle. Schauen Sie sich dann die Filter an und deaktivieren Sie "InfoHasNotChanged" (oder ein beliebiges Wort, das Sie verwenden möchten).

"rangetoreturn" und "Rangeofuniqueidtolookinto" stammen aus einer Tabelle (oder einem Blatt), und "CellofUniqueID" stammt aus der anderen Tabelle.

Prost

dmb
quelle
Vielen Dank ! Die erste Lösung könnte die einfachste sein, aber sie funktioniert nicht: (oder habe ich sie vielleicht nicht gut verstanden?) Die Option "Duplikat löschen" löscht einige Zeilen, und ich möchte alle Zeilen in beiden Blättern behalten. Außerdem nur ich haben eine Spalte auf dem Blatt mit eindeutigen Daten. Alle anderen Spalten enthalten viele Zeilen mit denselben Daten (z. B. zwei Personen mit demselben Geburtsdatum oder demselben Alter).
CILUEA
Option 2: Was sind Rangetoreturn / Rangeofuniqueidtolookino / OneOftheCellthain, das die gleichen Bereiche enthältRangeToReturn?
CILUEA
@CILUEA für Option 2, "rangeofreturn", das ist der Informationsbereich, den Sie zurückbringen möchten. "Rangeofuniqueidtolookinto" ist buchstäblich die Reihe von Uniqueids, bei denen Sie nach Ihrer einzigartigen ID suchen. "OneOftheCellthatcontainsthesameasRangeToReturn" Dies sind die Informationen, die Sie mit denen vergleichen, die Sie zurückbringen. Wenn es also anders ist, werden Sie darüber informiert. Leider gibt es keine bequeme Antwort, es sei denn, Sie kennen ein wenig VBA, was nicht so scheint.
dmb
@CILUEA für Option 1 müssen Sie aus beiden Tabellen eine neue Tabelle erstellen. Löschen Sie dann Duplikate. Dann können Sie auch CountIf2 Vorkommen verwenden und filtern. Wenn Sie 1 Vorkommen haben, bedeutet dies, dass sich die Informationen nicht geändert haben. Zuletzt bestellen Sie nach Ihrer eindeutigen ID. Werfen Sie auch ein Flag in eine neue Spaltenspalte, damit Sie wissen, aus welcher Tabelle Ihre Informationen stammen. Jetzt können Sie klar sehen, was die Unterschiede sind
dmb
@ Scott "Out of the Box" ... habe einen Fehler gemacht, es sollte OOTB sein, sorry Englisch ist nicht meine Muttersprache.
dmb