Ich möchte 2 Excel-Tabellen zu einer Tabelle zusammenführen.
In der einen Tabelle ist die Spalte Artikel-Nr. und die Spalte Menge.
In der anderen Tabelle ist ebenfalls die Spalte Artikel-Nr. und die Spalte Größe.
Bedingung: In der neuen Tabelle soll bei übereinstimmender Artikel-Nr. nur 1 Datensatz mit 1x Artikel-Nr. in 1 Zeile stehen und die Menge und die Größe jeweils rechts daneben.
Hallo Hans, (das hallo und den Gruss am Ende hattest du wohl vergessen…, naja kann passieren… siehe Netiquette)
Ich möchte 2 Excel-Tabellen zu einer Tabelle zusammenführen.
In der einen Tabelle ist die Spalte Artikel-Nr. und die Spalte
Menge.
In der anderen Tabelle ist ebenfalls die Spalte Artikel-Nr.
und die Spalte Größe.
Ich weiss nicht genau was du bezwecken willst, aber einfacher währe es, wenn beides in einer Tabelle stünde.
Dann könntest du mit einem Listenfeld (findest du, wenn du die Symbolleiste „Formular“ einblendest)
Einen Verweis und eine Ausgabefeld definieren.
So würde ich das machen, wenn auch die Infos recht spärlich sind.
Bedingung: In der neuen Tabelle soll bei übereinstimmender
Artikel-Nr. nur 1 Datensatz mit 1x Artikel-Nr. in 1 Zeile
stehen und die Menge und die Größe jeweils rechts daneben.
Von Hand per Kopieren und Einfügen alles in eine Tabelle kopieren und dann die Zuordnungen von Hand (Ein bisschen Vereinfachung gibt es durch die „Sortieren“-Funktion. Diese Variante würde ich bei nicht vorhandenen VBA-Kenntnissen und weniger als 1000 Artikelnummern wählen
Eine Lösung via VBA. Falls die entsprechenden Kenntnisse nicht da sind, muß jemand dafür engagiert werden. Dies rechnet sich aber nur bei einer Mindestanzahl von Datensätzen oder bei ständig wiederkehrender Anforderung.
Ciao
Uwe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
vielen Dank für Deine Antwort.
Das Hallo und den Gruss am Ende hatte vergessen. Sorry!
Kommt nicht mehr vor.
Das Problem ist aber leider mit Deinem Vorschlag nicht gelöst. Ich habe nun mal 2 Tabellen. Da ich dieses Problem nicht nur einmal, sondern öffters habe, wäre ich für einen konstruktiven Vorschlag dankbar.
Datensätze aus 2 Tabellen zu 1 zusammenführen
Hey Uwe,
vielen Dank für Deine Vorschläge.
Für mich kommt wohl nur Dein 2. Vorschlag in Frage, da es um tausende von Datensätzen und es sich um ständig wiederkehrende Anforderung geht. Gewisse Grundkenntnisse in VBA sind vorhanden, habe aber keine Idee wie ich es anpacken soll.
ich würde in VBA ein Array aus Records definieren, wobei jeder Record einem Artikel entspricht und außer der eindeutigen Artikelnummer alle Felder aus beiden Quelldateien enthält. Als erstes liest Du das erste Sheet vollständig in den Record. Beim zweiten Sheet mußt Du zu jedem Datensatz nachsehen, ob die Artikelnummer schon existiert. Wenn ja, füllst Du nur die zusätzlichen Felder. Andernfalls baust Du einen neuen Record auf.
Sind beide Sheets eingelesen muß das Array noch nach Artikelnummer sortiert werden und in ein drittes Sheet ausgegeben werden.
Ciao
Uwe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Hans,
Mike Meister hat in seiner Überschrift die Lösung bereits angedeuter SVERWEIS!
Sichern der Ausgangstabellen!
Sortieren beider Tabellen nach Art.-Nr.
Schreibe in Deiner 1. Tabelle in Spalte 3 folgende Formel:
=SVERWEIS(A1;Name2.Tabelle!$A$1:blush:B1000;2;FALSCH)
Hierbei steht A1 als Referenz für die ArtikelNr. Dies wird ohne $-Zeichen dynamisch nach unten kopiert.
Name2.T&abelle hier muß der Name der 2. Tabelle rein (Ausrufezeichen ist wichtig.)
Die Bereichsangabe: $A$1:blush:B$1000 steht für den Bereich, aus dem etwas zurückgegeben werden soll, statt 1000 muß hier natürlich
der letzte Datensatz aus der 2. Tabelle angegeben sein.
Die 2 steht für die Spalte aus der aus der 2. Tabelle der Wert zurückgegeben werden soll.
Der Parameter FALSCH ist erforderlich, weil sonst bei den Artikel.-Nr. ähnliche Werte auch hergenommen werden.
Nun sollte bei dynamischem Kopieren der Formal nach unten in der 1. Tabelle der korrespondierene Wert aus der 2. Tabelle erscheinen.
Nach der Aktion solltest Du noch die Formeln in echte Werte verwandeln: Markiere hierzu die Spalte mit den Formeln. Mit Strg+C kopieren. In Spalte D die erste Zelle markieren.
Über Bearbeiten/Inhalte einfügen/Werte kannst Du nun die Werte, die sich aus der SVERWEIS-Formel ergeben haben in Spalte D kopieren.
Anschließendes Löschen der Spalte C ist zu empfehlen.
Nun hast Du alle Werte in einer Tabelle.
Frage: Deine 2 Tabellen, sind das 2 Tabellen in einer Datei oder 2 Dateien?
Bei letzterem ist die Vorgensweise etwas anders.
Viel Erfolg
vielen Dank für Deinen Vorschlag. Genau so habe ich mir die Lösung vorgestellt. Wenn Du noch eine Idee hast, wie ich #NV bei nicht Übereinstimmung wegbekomme, wäre super.
Hallo Hans,
schön, wenn`s funktioniert.
Nach dem: Bearbeiten/Inhalte einfügen/Werte, kannst Du mit einfachem Suchen/ersetzen alle #NV wegbekommen.
Viel Erfolg
Ullrich Sander