Anzeige
Archiv - Navigation
1900to1904
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

Ergebnisse in dynamische Tabelle

Ergebnisse in dynamische Tabelle
05.10.2022 16:13:44
Hans
Grüße!
Bislang konnte ich mir immer mit Google-Sucher weiterhelfen, aber hier beiße ich mir die Zähne aus. Ich würde mich wirklich freuen, wenn hier jemand eine Idee zu der Problematik hätte.
Kriterium:
Kein VBA und kompatibel mit Excel 2010 aufwärts. Hintergrund ist, dass viele meine Excel-Datei nutzen und nicht jeder auf dem neusten Stand ist oder gar Libre Office dafür nutzt.
Das Scenario:
Für ein Spiel habe ich eine Excel-Datei für Micromanagement diverser Produktionsprozesse. In der Tabelle "Produktion" habe ich alle Produkte sowie deren zugehörigen Produktionsgebäude stehen. Ich möchte nun in einer neuen Tabelle eine Liste aller Produkte eines Gebäudes ausgeben, welches ich über ein Dropdown-Menü auswähle. Allerdings gibt es sehr viele Produkte und "Zutaten". Daher suche ich eine Möglichkeit um
A) Nur die Produkte auszugeben, die zu dem Gebäude gehören.
(Easy:

=WENNFEHLER(INDEX(Produktion[Name];AGGREGAT(15;6;ZEILE(ProduKtion[Name])/(Produktion[Gebäude]=$B$11); ZEILE($A1))-1);"")
)
B) Nur die Spalten aufzulisten, die als Zutat für die Produkte benötigt werden.
In dem Beispiel hier sollte beim Gebäude "Schreinerei" nur Holz und Stoff als Zutat stehen. Beim Gebäude "Schmiede" nur Holz und Eisen. Ich bräuchte also eine Formel die alle Spalten prüft, deren Zellen einen negativen Wert in den Zeilen haben wo das ausgewählte Gebäude steht. Mit Spaltenname oder -nummer kann ich die restliche Tabelle dann easy mit SVERWEIS oder ähnlichem füllen. Nur beim Ermitteln der Spalten hänge ich halt. Ich hoffe, ich habe das nicht zu umständlich erklärt. ;-)
In dem Beispielbild habe ich mal aufgeführt, wie sich die Tabelle ändern sollte, wenn ich andere Gebäude auswähle:
Userbild
Vielen Dank schon mal! =)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ergebnisse in dynamische Tabelle
05.10.2022 18:10:47
snb
Ich bin begeistert: Ich liebe schöne Bilder in Excel !!
AW: Ergebnisse in dynamische Tabelle
05.10.2022 19:42:07
Hans
Es tut mir leid, mit Sarkasmus kann ich mich leider nicht anfreunden.
Dies war mein erster Beitrag in diesem Forum, und ich ging davon aus, dass ein Screenshot ausreichend sei. Für den Fall, dass dem nicht so ist, habe ich mal eine Beispieldatei hochgeladen. Sollte mein Post deswegen gegen irgendwelche Netiquette hier verstoßen haben, irgendwelche User hier verärgert haben oder ich einfach unerwünscht sein, bitte ich um Entschuldigung und werde mich künftig auf das Lesen beschränken.
https://www.herber.de/bbs/user/155520.xlsx
Anzeige
AW: Ergebnisse in dynamische Tabelle
05.10.2022 21:51:20
Yal
Hallo Hans,
ganz locker. Es gibt keine Eindeutigkeit bei den selbst gegebenen Namen. Daniel und Christian sind wohl den Kracher. Hans Wurst sieht man eben nicht zum ersten Mal, und daher die Annahme, dass man weisst was ankommt und was nicht.
Ja, Bilder sind gut und hilfreich (ich mag selber keine "nur Datei"-Frage), aber selten ausreichend: kein Helfer mag zuerst eine kompletten Datei nachzubauen, um nur 2 Anpassung hineinzufügen (und vor allem diesen ausführlich testen)... Genauso war mein Gedanken bei deinem ersten Post und dementsprechend die Abwesenheit meiner Antwort.
Dein Problem ist nicht schwer: aus der "aktive" Tabelle (manche sagen "intelligente" Tabelle..) wird ein Power Query Abfrage gemacht, wo alle Spalten ausser die 2 ersten entpivotiert werden und die Nullen rausgefiltert. Das Ergebnis wird im Datenmodell geladen und daraus jeweils eine Pivottabelle mit passenden Filter.
https://www.herber.de/bbs/user/155524.xlsx
Pivottabelle lassen sich copy-pasten (z.B. Zeilen 9 bis 14 kopieren), was das Einbauen eine weitere PT erleichtert.
VG
Yal
Anzeige
AW: Ergebnisse in dynamische Tabelle
07.10.2022 14:53:49
r00t
Hallo zusammen,
zunächst einmal möchte ich für mein schnippiges Verhalten um Entschuldigung bitten, insbesondere bei Dir @snb. Ich hatte einen doofen Tag und das Excel-Problem hat mich zusätzlich in den Wahnsinn getrieben. Ohnehin generft kam ich mich halt veräppelt vor. Rückwirkend betrachtet macht es natürlich Sinn. Bilder sind kontraproduktiv und "Hans Wurst" ist ein Allerwelts-Nickname. Klar vermutet man schnell, dass derjenige schon öfters da war. Ich habe jetzt mal einen anderen Nicknamen genommen, der vielleicht nicht so häufig vorkommt. :-)
Dir auf jeden Fall vielen Dank für den Lösungsvorschlag @Yal. Ich sehe hier nur das Problem, dass Excel 2010 Pivot leider nicht unterstützt. :-(
In jeder Zeile der Spalte "Produkt" steht ja

=WENNFEHLER(INDEX(Produktion[Name];AGGREGAT(15;6;ZEILE(Produktion[Name])/(Produktion[Gebäude]=$B$11);  ZEILE($A1))-1);"") 
(klar, bei jeder Zeile steigert sich das ZEILE($A2), ZEILE($A3), usw...
Das Array dafür ist ja

ZEILE(Prodution[Name])/(Produktion[Gebäude]=$B$11)
Als Laie würde ich vermuten, dass das ein gefiltertes Array ist, wo nur Zeilen vorkommen, wo das Gebäude passt. Mittlerweile glaube ich, dass es nicht gefiltert ist, aber die Fehler durch Aggregat ignoriert werden.
Meine aktuelle Überlegung ist jetzt, ob ich irgendwie ein Array erstellen kann, was tatsächlich gefiltert ist, und ich dann mit Mtrans das Array invertiere und die erste Zelle von den Zeilen ausgebe, in denen ein negativer Wert vorkommt. Ich weiß jetzt gerade nur nicht, ob ich das zu laienhaft sehe oder zu komplex denke.... Da hänge ich gerade in der Luft. :-(
Anzeige
AW: Ergebnisse in dynamische Tabelle
07.10.2022 17:20:32
r00t
Naja, das Problem liegt weniger an mir, eher an der Community für die ich das erstellt habe. Ich selbst bin aufgrund meines Jobs immer auf dem neuesten Stand. Wenn das nur für mich wäre, würde ich das Projekt auch eher mittels LAMP-Server lösen. Aber ich würde so etwas für die Öffentlichkeit nicht online stellen weil ich weiß, wie schnell so ein Server mit SQL-Injection auseinander genommen werden kann. ;-)
Anzeige
AW: Ergebnisse in dynamische Tabelle
07.10.2022 23:41:37
Yal
wenn die Quell-Tabelle einmalig vorgegeben ist, dann in Excel 365 mit Power Query entpivotieren, dann freezen und der Rest mit Pivot in Excel 2010.
VG
Yal
AW: Ergebnisse in dynamische Tabelle
08.10.2022 13:10:54
r00t
Die Quelltabelle ist zwar einmalig vorgegeben, aber die kann sich auch wieder ändern (z.B. neue Items oder geänderte Rezepturen usw..) Ich wollte das wenn möglich dynamisch halten. Tut mir leid, wenn ich da so hartnäckig bin. ;-)
Ich bin aber jetzt ein Stück weiter gekommen. Ich habe jetzt ein Array, welches nur die Tabellenadressen ausgibt, die zu den Vorgaben passen. Problem ist jetzt, dass ich quasi alle Ergebnisse in einen String packen wollte, Doppelte Werte löschen und dann in den Spaltenüberschriften "Feld 1 vom String", "Feld 2 vom String" usw. ausgeben wollte. Das größte Problem sehe ich jetzt darin, dass Excel 2010 weder TEXTVERKETTEN noch EINDEUTIG unterstützt....
So sieht das Array aus:

{=(ADRESSE(ZEILE(Produktion[#Kopfzeilen]);(Produktion[#Daten]
Userbild
D.h. mein Gedanke ist jetzt: Ich muss irgendwie erreichen, dass ich als Ergebnis ein Text in Form von "G1,I1" bekomme. Wenn ich das Splitten könnte in in den Spaltenüberschriften "Feld 1 vom String", "Feld 2 vom String" usw. angeben könnte, hätte ich gewonnen. ^^
https://www.herber.de/bbs/user/155560.xlsx
Anzeige
AW: Ergebnisse in dynamische Tabelle
08.10.2022 13:15:22
r00t
Sry, das Bild ist etwas klein. Ich glaube, man kann Posts hier nicht nachträglich bearbeiten, daher hier noch mal ewas größer:
Userbild
AW: Ergebnisse in dynamische Tabelle
11.10.2022 13:10:41
r00t
Ok, ich denke ich habe es jetzt gelöst. Vermutlich ist die Lösung von hinten durch die Brust ins Auge, aber immerhin kompatibel mit Excel 2010 und dynamisch. ^^
Wenn Interesse besteht, kann ich ja mal die richtige Excel-Datei hier verlinken wenn ich das umgesetzt habe. Da sind - für mein laienhaftes Empfinden - ein paar knackige Formeln dabei. ;-)
In der ersten Zelle der Materialien ($E$10) habe ich jetzt

{=WENNFEHLER(INDIREKT(ADRESSE(ZEILE(Produktion[#Kopfzeilen]);(KKLEINSTE(WENN(((Produktion[#Daten]0;((Produktion[#Daten]
In den folgenden Zellen der Zeile haben ich das hier (Beispiel hier für F$10) was ich in die übrigen kopiere:

{=WENNFEHLER(INDIREKT(ADRESSE(ZEILE(Produktion[#Kopfzeilen]);KKLEINSTE(WENN(((Produktion[#Daten]SPALTE(INDIREKT("Produktion["&E$10&"]") );((Produktion[#Daten]
Für die einzelnen Werte in der Tabelle (Beispiel hier E11) habe ich die Formel:

=WENNFEHLER(INDEX(Produktion;VERGLEICH($D11;Produktion[Name];0);VERGLEICH(E$10; Produktion[#Kopfzeilen];0));"") 
https://www.herber.de/bbs/user/155599.xlsx
Userbild
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige