Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

unterschiedliche Tabellen kombinieren

unterschiedliche Tabellen kombinieren
12.10.2021 10:18:34
Christian
Hallo zusammen,
ich möchte gerne zwei unterschiedliche Tabellenblätter (die jeweils in einer Spalte die selben, in den anderen Spalten jedoch unterschiedliche Informationen beinhalten) miteinander kombinieren. Das bedeutet, dass in einer Tabelle Artikelnummern und Preise stehen und in der anderen Tabelle bspw. die Artikelnummern und die Käufer. Nun muss ich eine Abfrage oder einen Vergleich anstellen und möchte dann die Käufer in der richtigen Zeile zu den Artikelnummer und Preisen ergänzen. Momentan mache ich dies über das "händisch" über das PowerQuery-Tool von Excel, habe mich aber gefragt ob es nicht vielleicht eine einfachere Lösung über VBA gibt.
Zu erwähnen ist vielleicht noch, dass die Tabellen nicht zwingend die gleiche Anzahl an Artikeln beinhalten können/ müssen.
Über Lösungsansätze wäre ich tierisch dankbar. Hier ist eine Beispielarbeitsmappe: https://www.herber.de/bbs/user/148560.xlsm
Viele Grüße
Christian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unterschiedliche Tabellen kombinieren
12.10.2021 11:00:22
{Boris}
Hi Christian,
so ganz bin ich mir nicht sicher, ob ich das richtig verstanden habe.
Trag mal in Tabelle1!C2 ein
=WENNFEHLER(INDEX(Tabelle2!$B$2:$B$21;AGGREGAT(14;6;ZEILE($2:$21)/(Tabelle2!$A$2:$A$21=$A2); SPALTEN($A:A)));"")
kopier sowohl nach rechts als auch nach unten und sag, ob das Dein gewünschtes Ergebnis ist.
VG, Boris
AW: unterschiedliche Tabellen kombinieren
12.10.2021 13:41:22
Christian
Also er kopiert schon mal die Namensspalte von dem zweiten in das erste Tabellenblatt, allerdings passt die Zuordnung noch nicht. Sprich die Namen stehen bei den falschen Artikelnummern und in der letzten Zeile steht gar kein Name.
Mein Fehler...
12.10.2021 14:02:12
{Boris}
Hi,
...sorry - so ist die Formel in Tabelle1!C2 richtig:

=WENNFEHLER(INDEX(Tabelle2!$B$2:$B$21;AGGREGAT(14;6;ZEILE($1:$20)/(Tabelle2!$A$2:$A$21=$A2); SPALTEN($A:A)));"") 
Nach rechts und nach unten kopieren.
VG, Boris
Anzeige
AW: Mein Fehler...
13.10.2021 09:20:49
Luschi
Hallo Christian & Boris,
meine Lösung sieht so aus:

=WENNFEHLER(INDEX(Tabelle2!$B$2:$B$21;AGGREGAT(15;6;ZEILE($1:$20)/(Tabelle2!$A$2:$A$21=$A2);  ZÄHLENWENN($A$2:$A2;$A2)));"") 
Gruß von Luschi
aus klein-Paris
AW: Mein Fehler...
13.10.2021 10:15:26
Christian
Moin ihr Zwei,
beide Lösungen funktionieren. Vielen Dank erst mal dafür, nun muss ich aber das ganze in VBA umsetzen, habt ihr da auch eine Lösung für?
VG
Christian
AW: Mein Fehler...
13.10.2021 10:39:16
Luschi
Hallo Christian,
der Lösungsvorschlag von Boris kann so nicht klappen, denn 'SPALTEN($A:A)' ergibt immer '1', außerdem wird mit Parameter '14' immer der letzte Wert zuerst angezeigt. Das wäre bei einem sportlichen Wettbewerb fatal, denn dann gewinnt immer der Letzte!
Es muß eine Abhängigkeit hergestellt werden an wievielter Stelle steht die Artikelnummer '4023.3660.120.406' in der Ausgangsliste.
Gruß von Luschi
aus klein-Paris
PS: für eine Vba-Lösung braucht man noch mehr Infos; z.B. wann oder wodurch soll der Vba-Code ausgelöst werden?
Anzeige
AW: Mein Fehler...
13.10.2021 10:46:30
Christian
Hallo Luschi,
ok, vielleicht missverständlich formuliert: für die Beispieltabelle funktionieren beide Lösungen (habe es grad extra nochmal getestet). Es kann natürlich sein, dass die Lösung nicht mehr funktioniert sobald sich einige Rahmenbedingungen ändern.
Momentan versuche ich noch deine Funktion nachzuvollziehen und zu verstehen.
Die Umsetzung in VBA soll ein Teil eines größeren Makros sein. Für den Anfang würde ich das Makro manuell starten. Reicht dir diese Angabe?
Viele Grüße
Christian
AW: Mein Fehler...
13.10.2021 11:05:09
Christian
Hallo Luschi,
ok, vielleicht missverständlich formuliert: für die Beispieltabelle funktionieren beide Lösungen (habe es grad extra nochmal getestet). Es kann natürlich sein, dass die Lösung nicht mehr funktioniert sobald sich einige Rahmenbedingungen ändern.
Momentan versuche ich noch deine Funktion nachzuvollziehen und zu verstehen. Z.B. verstehe ich nicht so ganz warum in der Funktion AGGREGAT für das Array, bzw. Bezug1 die Formel: ZEILE($1:$20)/(Tabelle2!$A$2:$A$21=$A2) steht und was die Formel bedeutet. Und auch die Nachfolgenede Angabe der AGGREGAT-Funktion verstehe ich nicht so ganz: ZÄHLENWENN($A$2:$A2;$A2)). Kannst du mir dies vielleicht kurz erläutern?
Die Umsetzung in VBA soll ein Teil eines größeren Makros sein. Für den Anfang würde ich das Makro manuell starten. Reicht dir diese Angabe?
Viele Grüße
Christian
Anzeige
...kann nicht klappen...?!
13.10.2021 11:30:08
{Boris}
Hi Luschi,

der Lösungsvorschlag von Boris kann so nicht klappen, denn 'SPALTEN($A:A)' ergibt immer '1'
Mitnichten. Wie kommst Du da drauf?

außerdem wird mit Parameter '14' immer der letzte Wert zuerst angezeigt
Dann eben Parameter 15 nehmen ;-)
VG, Boris
AW: Mein Fehler...
14.10.2021 16:25:21
Luschi
Hallo Christian,
der Lösungsvorschlag von Boris kann so nicht klappen, denn 'SPALTEN($A:A)' ergibt immer '1', außerdem wird mit Parameter '14' immer der letzte Wert zuerst angezeigt. Das wäre bei einem sportlichen Wettbewerb fatal, denn dann gewinnt immer der Letzte!
Es muß eine Abhängigkeit hergestellt werden an wievielter Stelle steht die Artikelnummer '4023.3660.120.406' in der Ausgangsliste.
Gruß von Luschi
aus klein-Paris
PS: für eine Vba-Lösung braucht man noch mehr Infos; z.B. wann oder wodurch soll der Vba-Code ausgelöst werden?
Anzeige
Ick versteh Dir nicht...
14.10.2021 18:10:47
{Boris}
Hi Luschi,
warum kopierst Du nun noch Deinen alten Beitrag, statt ggfls. auf meinen zu antworten...?
Nun denn ;-)
VG, Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige