patches0hulahan
Goto Top

Tabellen zusammenfügen, erweitern und gleiche Daten überschreiben

Guten Tag allerseits,

ich erbitte eure Hilfe bei einer schwierigen Aufgabe mit Excel.

Ich habe zwei wirklich sehr große Tabellen, die ich zu einer einzigen zusammenfügen möchte.

Am ersichtlichsten wird die Problematik wohl, wenn ich euch einfach die Struktur darlege....

ad25d68e53eed2be8aedcbd4574f05af

6eb24f6b6ed133d0aa39a9c6ce5fd7a4

Das sind jetzt natürlich nur Abklatsche, in wirklichkeit geht es um etwas ganz anderes und die Tabellen haben hunderte von Spalten und tausende Zeilen.

Jedenfalls gibt es Spalten, die in beiden Tabellen vorkommen und diese sind dann auch für identische Items identisch ausgefüllt.

Andererseits gibt es sowohl Items als auch Spalten, die nur in der jeweiligen Tabelle vorkommen.

Am Ende sollte alles in einer Tabelle stehen (die dann natürlich um die benötigten Spalten erweitert wurde) und jedes Item sollte nur einmal vorkommen.

Ist das überhaupt möglich mit Excel und wenn ja wie?

Ich danke euch jetzt schonmal für Hilfe und Anregungen.

MfG Patches

Content-Key: 164575

Url: https://administrator.de/contentid/164575

Printed on: April 25, 2024 at 10:04 o'clock

Member: Biber
Biber Apr 18, 2011 at 05:29:50 (UTC)
Goto Top
Moin Patches0hulahan,

wenn du so direkt fragst... ja, es wäre natürlich auch mit Excel möglich.

Allerdings gibt es sicherlich Werkzeuge, die sinnvoller dafür geeignet wären -eigentlich schreit alles nach einer Datenbank-Lösung.

Mit Excel/Calc oder ähnlichem ist performant und DAU-bedienbar letzten Endes nur mit einer dazugeflanschten Makro-Programmierung machbar.

Aber dann wiederum müsste klar sein
  • wie entstehen und wo liegen die beiden Einzel-Exceldateien und woran erkenne ich "aktualisierte" Versionen?
  • wieso entstehen die denn unabhängig voneinander und haben dennoch so viele Überlappungen - wird da redundant gearbeitet?
  • wie auf soll ein Zusammenbraten erfolgen - nebenbei in Echtzeit, täglich, wöchentlich oder 1x im Monat?
  • wer darf das veranlassen und wie erfahren alle anderen davon?
  • und mindestens 12 weitere Eckpfeiler

Grüße
Biber
Member: Patches0hulahan
Patches0hulahan Apr 19, 2011 at 08:33:22 (UTC)
Goto Top
Danke für deine Antwort.

Diese Zusammenführung soll nur einmal stattfinden, es handelt sich um Daten, die sich allesamt auf das letzte Jahr beziehen.

Dass die Daten voneinander getrennt sind kommt daher, dass ein Teil der ursprünglichen Tabelle mit einer anderen Software weiterverarbeitet wurde. Es wurden dort zu jedem Datensatz weitere Informationen hinzugefügt und diese dann ausgewertet.

Jetzt möchten wir sozusagen für einen abschließenden Vergleich und zur Übersicht nochmal alle Datensätze in einer Tabelle haben.

Ich komme da bis jetzt leider kaum weiter, da ich keine VBA-Vorkenntnisse hatte.

Der konkrete Wunsch ist es die ersten 4 Spalten der 2 Tabellen (die in unterschiedlichen Arbeitsmappen liegen) zu vergleichen.
Bei Übereinstimmung sollen die Spalten 5-12 der Tabelle 1 neu in Tabelle 2 eingefügt werden (Tabelle 2 hat zwar wesentlich mehr als 12 Spalten, aber die Spalten 5-12 existieren dort noch nicht).

Wenn keine Übereinstimmung vorhanden ist sollten die Spalten 1-12 der Tabelle1 in die Tabelle2 neu eingefügt werden.

Leider bin ich bis jetzt noch nicht weiter, als dass ich einzelne Spalten vergleichen kann und dann bei Übereinstimmung die komplette Zeile kopiere.

Es würde mich echt freuen, wenn jemand Zeit und Lust hat mir zu helfen.

MfG Patches
Member: Biber
Biber Apr 19, 2011 at 08:58:48 (UTC)
Goto Top
Moin Patches0hulahan,

tja, wenn es doch eine einmalige Aktion ist und du doch sonst keinen unmittelbaren Leidensdruck hast, nun unbedingt tiefer in VBA-Programmierung abzutauchen...

-> Besteht denn bei euch nicht die Möglichkeit, irgendein Tool zu nutzen, das ein bisschen SQL spicht. Ein Access oder Base oder so was?

Dann lassen sich die beteiligten Sheets einmalig einlesen in Tabellen, mit einem halben Dutzend Statementzeilen verknibbeln und in eine Neue Gesamt-Tabelle schreiben.

Das sollte ein halbwegs geduldiger Handwerker mit VHS-Abendkurs-Kenntnissen in 2 Stunden abkaspern können.

Ggf. meldet sich auch einer hier im Beitrag, wenn du ihm dafür eine Xavier Naidoo-Konzertkarte als Gegenleistung anbietest.
Für eine einmalige Aktion wäre mir jedenfalls das Schreiben (und Testen!) eines 150-Zeilen-VBA-Scripts zu aufwändig.

Grüße
Biber
Member: Patches0hulahan
Patches0hulahan Apr 21, 2011 at 11:50:37 (UTC)
Goto Top
Das Problem wurde jetzt so halbwegs gelöst....

Wenn ich nur die ersten 5 Spalten der beiden Tabellen betrachte ist die eine eine Teilmenge von der anderen.
Meine Lösung sieht jetzt so aus, dass ich einfach diese Spalten vergleiche, gleiche Zeilen aus einer Kopie der längeren Liste lösche und den Rest an die Kurze Liste anfüge.
Jetzt kann die erweiterte Liste nach dem selben Schema sortiert werden und so kann man per Hand die zusätzlich benötigten Spalten übertragen.
Ist sicherlich alles sehr umständlich um demnach auch rechenintensiv für unsere Rechner, aber ich hoffe es funktioniert wenigstens.

Ich berichte nach Ostern nochmal ob es endgültig geklappt hat, Danke!
Member: Patches0hulahan
Patches0hulahan Apr 26, 2011 at 13:02:47 (UTC)
Goto Top
Na super.....
Leider hat sich im nachhinein herausgestellt, dass die kürzere Liste doch Datensätze enthält, die in der anderen nichtmal teilweise enthalten sind.

Diese muss ich nun nochmal herausfiltern und an die lange ursprungstabelle anfügen, damit danach beide Tabellen gleich lang sind und in den ersten 6 Spalten identisch sind. Das Problem ist jetzt eigentlich nur, dass ich so zwei makros durchlaufen lassen muss, die jeweils 3-5 stunden brauchen (danach muss ich dann halt noch per hand ein paar Spalten rüberkopieren) und wir doch mehrere von den "kurzen" Tabellen mit der langen zusammenfügen wollen.

Falls mir noch jemand helfen möchte, ich müsste wissen, wie ich von zwei Tabellen die Spalten 5 und 6 vergleiche....
Bei übereinstimmung soll aus der Tabelle1 die Zeile von Feld 7 bis 15 in die passende Zeile der Tabelle2 kopiert werden.
Wenn keine Übereinstimmung da ist soll die komplette Zeile von Tabelle1 in die Tabelle2 kopiert werden.

Dadurch geht es wohl insgesamt auch nicht viel schneller, aber wenigstens hätte ich so alles in einem Makro, das ich nach Feierabend starten könnte.