2016-06-09 9 views
1

Ich habe einige der Themen gelesen, die mir ähnlich waren, aber ich konnte keine Antwort finden für das, was ich brauche. Vielleicht ist es ein logisches Problem für mich.Wie kann ich Zeilen in Excel-Tabellen vergleichen?

Ich habe zwei Blätter mit identischen Daten, aber sie kommen aus zwei verschiedenen Quellen. Ich muss die Zeilen von 1 Blatt mit den Zeilen des 2. Blattes vergleichen, um herauszufinden, was fehlt oder anders ist, damit ich es beheben kann.

Ich habe Spalten A - M, die die Datenpunkte hat. Ich habe dann Spalte N, die ich alle Spalten miteinander verkettet habe und sie mit anderem Blatt verglichen habe, was dasselbe tut, damit ich das Non-Matching finden konnte. Von 40.000 Records habe ich 6100, die nicht übereinstimmen.

Was ich versuche zu tun, ist die ganze Reihe (oder die verketteten) zu vergleichen und herauszufinden, welcher Wert zwischen den beiden unterschiedlich ist. Ich habe versucht, dies durch IF mit einem VLookup und verschachtelten IFs zu tun, aber dies wurde nicht korrekt, weil ich es nicht bekommen habe, um den gleichen Wert aus der gleichen Zeile zu vergleichen, und mir der zugewiesene Schachtelplatz ausgegangen ist. Ich dachte an ein Match, das Indexsystem könnte funktionieren. Ich brauche Hilfe!

Edit: Um klarer zu sein, die Reihen nicht aufzureihen. Was ich tun muss, ist sicherzustellen, dass alle Zeilen von Blatt "1" in Blatt "2" sind, aber nicht alle Blätter von Blatt "2" müssen in "1" sein. Grundsätzlich brauche ich das -

Von Blatt "1" finden Sie den Wert in Zelle A1 in Blatt "2" A: A. Dann passe B1-N1 an dieselbe Zeile an (egal, welche Zeile es ist). Wenn möglich, möchte ich entweder durch Markieren oder mit einem Wort wie "Mismatch" identifizieren

Antwort

0

Ich würde eine VBA-Lösung verwenden. Wenn die Anzahl der Zeilen für jedes Blatt gleich ist und Sie Zeile 1 mit Zeile 1 usw. vergleichen, dann:

1) Wiederholen Sie jede Zeile und verketten Sie die Zeilenzellen für jedes Blatt.

2) Wenden Sie die Reinigungs- und Trimmfunktion auf die Ergebnisse an.

3) Vergleichen Sie die Ergebnisse.

4) Wenn sie übereinstimmen, wechseln Sie zur nächsten Zeile.

5) Wenn sie nicht übereinstimmen, durchlaufen Sie jede Zelle des Zeilenbereichs, um diejenigen zu finden, die sich unterscheiden und irgendwie erfassen.

6) Drucken Sie die Ergebnisse irgendwo.

OR

Setzen der Bereichswerte jedes Blatt in zwei Arrays und vergleichen die Arrays (schneller).

Ich bin sicher, es gibt einen besseren Weg, aber das wäre zumindest mein Ansatz.

+0

Ich habe eine schwierige Zeit, genau zu erklären, was ich brauche. Nehmen wir an, meine Zeile in Blatt a besteht aus A B C D E F. Ich habe dann concat und bekomme ABCDEF. Ich habe das mit Blatt 2 verglichen, um herauszufinden, ob es einen ABCDEF hatte. Wenn dies nicht der Fall ist, muss ich als nächstes herausfinden, ob es ein "A" hat.Wenn es ein A hat, dann muss ich herausfinden, ob diese Zeile ein "A" hat, wenn die nächste Spalte in dieser Zeile ein "B" hat, weil es möglich ist, eine 1 oder ein Q oder irgendetwas anderes zu haben. Wenn es ein B hat, dann gehe zur 3. Spalte und so weiter macht das Sinn? –

+0

@ChristopherWeber Ja, es macht Sinn. Das ist das, was ich oben gesagt habe, mach es nur mit VBA. – Brian

0

Normalerweise erstelle ich ein neues Blatt und benutze jede Zelle, um einen zellenweisen Vergleich zwischen den Blättern durchzuführen. d. h. in neue Blatt Zelle a1 setzen =value(Sheet1!A1=Sheet2!A1) Das gibt Ihnen eine 1, wo sie gleich sind und eine Null, wo sie sich unterscheiden.

Wenn Sie möchten, können Sie die Spalte n auf einem Originalblatt als Summe der gleichen Zeile auf dem neuen Blatt zur einfachen Referenz festlegen.

Verwandte Themen