Clever-Excel-Forum

Normale Version: Zusammenführen von 3 Tabellen in zwei Tabellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo in die Runde,

ich bin der Neue hier und habe ein kleines Excel-Problem, dessen Lösung ich mir durch Euch erhoffe. Ich danke im Vorfeld allen Helfenden. Ich nutze Office 365 und feile gerade an einer etwas größeren Auswertung. Darin sind unteranderem drei Tabellenblätter enthalten, die in Zeilenform verschiedene Artikel auflisten. In allen drei Tabellenblättern gibt es jeweils eine Spalte, die für jeden Artikel die Produktionsstätte A oder die Produktionsstätte B ausweist. Mein Ziel ist es nun, dass in einem Tabellenblatt "Produktionsstätte A" und in einem Tabellenblatt "Produktionsstätte B" alle Artikel aufgelistet werden (in Spalte), entsprechend der jeweiligen Produktionsstätte. Mir wäre es wichtig, dass die Zuordnung live (ohne manuelles Anschubsen) und ohne Leerzeilen erfolgt. Damit meine ich, dass wenn ich bei einem Artikel aus den drei Quell-Tabellenblättern die Produktionsstätte ändere, bspw. von Produktionsstätte A zu B, dass dann dieser Artikel im Tabellenblatt "Produktionsstätte A" automatisch verschwindet und im Tabellenblatt "Produktionsstätte B" gelistet wird.

Ich habe bislang eine Notlösung genutzt, die mittlerweile jedoch nicht mehr funktioniert. Bisher gab es nur zwei Quelltabellen, die ich in einem Nebenrechnungsblatt untereinander auflistete mithilfe dieser Formel:

=WENN(ANZAHL2('QUELLE A'!A$1:A$1000)>=ZEILE(A2);'QUELLE A'!A5;INDEX('QUELLE B'!A$1:A$1108;ZEILE(A2)-ANZAHL2('QUELLE A'!A$5:A$1000)))

Leider gibt es mittlerweile eine dritte Quelle und ich schaffe es einfach nicht, diese dritte Abfrage hier zu integrieren. Anschließend hatte ich in Tabellenblättern der Produktionsstätten folgende Abrufformel genutzt:

=FILTER(Nebenrechnungen!A:A;Nebenrechnungen!B:B="Produktionsstätte A")

Ich denke jedoch, es ging auch ohne Nebenrechnung, wäre jedoch auch dafür offen.

Ich danke EUCH sehr im Voraus!

VG Stefan
Hola,
lade bitte eine Exceldatei hoch.

Gruß,
steve1da
Hallo steve1da,

anbei die recht abgespeckte Datei. Die Funktionalität ist die selbe, wie in der Originaldatei, nur habe ich den ganzen sensiblen Inhalt entfernt. Den wird es aber auch nicht brauchen.

Kurz eine Erläuterung zum Aufbau:

Die Tabellenblätter "Origin & TNH", "Master Blends" und "Teabags & Sachets" sind die Quelltabellenblätter. In diesen dreien gibt es jeweils eine Spalte, die die Produktionsstätte definiert. Hierfür gibt es die Auswahl "S13" oder "Fremdproduktion". Bisher gab es nur zwei Quelltabellen und ich habe alle Artikelnummern (SKU) dort untereinander aufführen lassen über die Formel:

=WENN(ANZAHL2('Origin & TNH'!A$1:A$1000)>=ZEILE(A2);'Origin & TNH'!A3;INDEX('Master Blends'!A$1:A$1108;ZEILE(A2)-ANZAHL2('Origin & TNH'!A$3:A$1000)))

Danach habe ich per FILTER-Funktion die Artikelnummern in die Tabellenblätter "Produktion S13" und "Fremdproduktion" gespiegelt über die Formel:

=FILTER(Nebenrechnungen!A:A;Nebenrechnungen!B:B="S13")

Wie gesagt, ist das Problem nun, dass es drei Quelltabellenblätter gibt und ich mich frage, ob dieser Zwischenschritt über das Nebenrechnungsblatt überhaupt notwendig wäre mit einer anderen Formel.

Danke im Voraus.

VG, Stefan
Hi,

=VSTAPELN(FILTER('Origin & TNH'!A3:A273;'Origin & TNH'!B3:B273="S13");FILTER('Master Blends'!A3:A145;'Master Blends'!B3:B145="S13");FILTER('Teabags & Sachets'!A3:A137;'Teabags & Sachets'!B3:B137="S13"))

Mach aus deinen Ausgangstabellen Strg-T-Tabellen, dann brauchst du dich auch nicht um die Bereiche zu kümmern.

=VSTAPELN(FILTER(Origin[SKU];Origin[Produktionsstätte]="S13");FILTER(Master[SKU];Master[Produktionsstätte]="S13");FILTER(Teabags[SKU];Teabags[Produktionsstätte]="S13"))

Hier habe ich die Strg-Tabellen "Origin", "Master" und "Teabags" genannt.
Hi Helmut,

Du hast mir den richtigen Weg gezeigt, auch mit den STRG-Tabellen. Ich danke Dir sehr dafür! Eine Rückfrage hätte ich dennoch. Deine Formel funktioniert einwandfrei bei der Filterung nach "S13". Wenn ich die selbe Formel nur mit dem FILTER "Fremdproduktion" statt "S13" nutze, bekomme ich einen #KALK!-Fehler. Ich habe die Schreibweise der Auswahlen "S13" und "Fremdproduktion" in den Quelltabellen geprüft und sie stimmen.

Hast Du evtl. eine Idee, woran es liegen könnte? 

VG, Stefan
Hi Helmut,

ich habe das Problem entdeckt. Der #KALK!-Fehler entsteht, wenn in einem der Quelltabellen ein Filter-Wert nicht vorkommt. Das bedeutet, dass wenn ich nach "Fremdproduktion" filtere, aber in der Quelltabelle "Master" bspw. keine "Fremdproduktion" definiert ist für einen Artikel, zerschießt es die gesamte Formel. Gibt es die Möglichkeit, die Formel so anzupassen, dass trotzdem die SKUs der anderen beiden Quelltabellen aufgezeigt werden? Die Produktionsstätte kann sich jederzeit ändern, weshalb ich keine Quelltabelle unberücksichtigt lassen kann.

Danke vorab.

VG, Stefan

Hi Helmut,

ich meine es gelöst zu haben. Ich habe einfach alle möglichen Konstellationen mit WENNFEHLER kombiniert:

=WENNFEHLER(VSTAPELN(FILTER(Origin!A:A;Origin!K:K="Extern");FILTER(Master!A:A;Master!K:K="Extern");FILTER(Teabags!A:A;Teabags!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Origin!A:A;Origin!K:K="Extern");FILTER(Master!A:A;Master!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Origin!A:A;Origin!K:K="Extern");FILTER(Teabags!A:A;Teabags!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Master!A:A;Master!K:K="Extern");FILTER(Teabags!A:A;Teabags!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Origin!A:A;Origin!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Master!A:A;Master!K:K="Extern"));WENNFEHLER(VSTAPELN(FILTER(Teabags!A:A;Teabags!K:K="Extern"));"keine Produktionen")))))))

Nicht wirklich elegant aber zielführend. Ohne Dich wäre ich nicht an dieser Stelle, weshalb ich Dir danken möchte!

VG, Stefan
Hi,

FILTER() kennt noch einen dritten Parameter, der bestimmt, was angezeigt wird, wenn nichts übrig bleibt. Hier könntest du einen Leerstring ("") verwenden. Allerdings hast du dann auch eine leere Zelle in deiner Liste. Im Beispiel ist dies zufällig die letzte Zeile und stört daher nicht. Sollten eventuelle leere Zellen stören, so kannst du diese auch noch filtern:

=LET(x;VSTAPELN(FILTER(Origin[SKU];Origin[Produktionsstätte]="Fremdproduktion";"");FILTER(Master[SKU];Master[Produktionsstätte]="Fremdproduktion";"");FILTER(Teabags[SKU];Teabags[Produktionsstätte]="Fremdproduktion";""));FILTER(x;x<>""))
Hi Helmut,

könntest Du mir bitte bei einem weiteren Punkt behilflich sein, bei dem ich gerade wieder etwas verzweifle. Es geht darum, dass in den drei Quelltabellen neben den SKUs Artikeldaten stehen. Ich bräuchte nun für die Tabellenblätter "Produktion S13" und "Fremdproduktion" einen modifizierten SVERWEIS, der die Daten aus den Quelltabellen herauszieht. Ich bekomme das jedoch immer nur mit zwei Blättern hin und scheitere bei allen drei.

Darf ich Dich hier noch einmal um Hilfe bitten?

VG, Stefan

Hi Helmut,

ich habe meinen Fehler gefunden. Ich danke DIR und wünsche ein schönes Wochenende!

VG, Stefan
Hi,

wenn es benachbarte Spalten sind, die du haben willst:
=LET(x;VSTAPELN(FILTER(Origin[SKU]:Origin[letzte_gewünschte_Spalte];Origin[Produktionsstätte]="Fremdproduktion";"");FILTER(Master[SKU]:Master[letzte_gewünschte_Spalte];Master[Produktionsstätte]="Fremdproduktion";"");FILTER(Teabags[SKU]:Teabags[letzte_gewünschte_Spalte];Teabags[Produktionsstätte]="Fremdproduktion";""));FILTER(x;x<>""))

Bei der Anzeigen von z.B. Spalte 3,5,6,9 der jeweiligen Strg-T-Tabelle
=LET(x;VSTAPELN(FILTER(SPALTENWAHL(Origin;3;5;6;9);Origin[Produktionsstätte]="Fremdproduktion";"");FILTER(SPALTENWAHL(Master;3;5;6;9);Master[Produktionsstätte]="Fremdproduktion";"");FILTER(SPALTENWAHL(Teabags;3;5;6;9);Teabags[Produktionsstätte]="Fremdproduktion";""));FILTER(x;x<>""))

Sehe gerade, dass du deinen Fehler gefunden hast. Aber vielleicht gefällt dir diese Methode ja besser...