Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
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

Kompakte Darstellung einer Auswahl-Matrix

Kompakte Darstellung einer Auswahl-Matrix
05.05.2017 13:34:11
Fabian
Hallo zusammen,
ich stehe vor einer vermutlich einfachen Aufgabe, für die mir aber keine schöne Lösung/Idee kommt. Im verlinkten Excel-File seht ihr es anschaulich:
https://www.herber.de/bbs/user/113346.xlsx
Ich habe eine Reihe von Produkten, welche sich mit jeweils unterschiedlichen Zubehörteilen ergänzen lassen (Kompatibilität untereinander quasi). Diese Liste wird vermutlich etwas länger werden, die Matrix daher recht groß. Ein [X] markiert die jeweils gültigen Kombinationen.
Jetzt war meine Überlegung anstatt jedesmal diese riesen Matrix durchzuschauen ein Dropdown mit den Produkten zu haben. Wenn ich dort eine Auswahl treffe, dann sollen entweder in einem zweiten Dropdown daneben alle gültigen Zubehörteile auftauchen. Alternativ wird einfach die Spalte daneben mit den gültigen Teilen gefüllt werden.
In meiner Datei würde ich zB "Produkt 2" im Dropdown wählen, dann sollten daneben "Zubehör 2" und "Zubehör 3" in das Dropdown oder eben in die Spalte geschrieben werden.
Könnt ihr mir helfen?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eine dynamisch abhängige Dropdownzelle ....
05.05.2017 15:01:45
...
Hallo Fabian,
... eine solche kann ohne VBA nur mittels Hilfszellen erzeugen. Für letztere habe ich beispielsweise die Zellen L4:Z4 genutzt (Spalten die Du auch ausblenden kannst) Deren Ergebnis entspricht bereits der von Dir als Alternative beschriebenen Lösungswunsch.
Die Hilfszellenformel L4 weit genug nach rechts kopieren und beachten, dass bei einer anderen Produktwahl das evtl. in J4 noch stehende Zubehör nicht mehr passend sein muss. Um das kenntlich zu machen, empfiehlt sich eine entsprechende bedingte Formatierung, wie von mir aufgezeigt:
 ABCDEFGHIJKLMN
1 Zubehör1Zubehör2Zubehör3Zubehör4Zubehör5        
2Produkt 1XX           
3Produkt 2 XX    Produktpassendes Zubehör    
4Produkt 3 X XX  Produkt 4Zubehör4 Zubehör3Zubehör4 
5Produkt 4  XX         
6              

Formeln der Tabelle
ZelleFormel
L4=WENNFEHLER(INDEX(1:1;AGGREGAT(15;6;SPALTE($B1:$H1)/($B2:$H99="x")/($A2:$A99=$I4); SPALTE(A1))); "")

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
J4Liste =Zubehör 
Namen in Formeln
ZelleNameBezieht sich auf
J4Zubehör=Tabelle1!L4:INDEX(Tabelle1!L4:Z4;SUMME(--(Tabelle1!L4:Z4<>"")))
Namen verstehen

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
J41. / Formel ist =(ZÄHLENWENN(L4:Z4;J4)=0)*(J4>0)Abc

Gruß Werner
.. , - ...
Anzeige
AW: eine dynamisch abhängige Dropdownzelle ....
05.05.2017 17:57:32
Fabian
Hallo Werner,
danke vielmals für diese schnelle Antwort, das gefällt mir. Da werd ich sicher auch noch ein wenig mit weiteren Formatierungen experimentieren.
Prinzipiell bin ich auch offen für Lösungen, die VBA beinhalten. Ich verstehe Programmiersyntax an sich zu einem gewissen Grad, allerdings habe ich mich in VBA einfach nie reingefunden bisher, bräuchte für diesen Ansatz also auch Hilfe.
Da ich aber nun schon eine Antwort habe, ist das nicht mehr so dringend, wäre eher ein schönes Add-On :)
Danke!
Viele Grüße, Fabian
Das geht aber auch ganz nach deinem Wunsch ....
06.05.2017 03:59:58
Luc:-?
…und ohne Hilfszellen, Fabian,
dafür mit einer vba-basierten UDF in einer singularen (1zellig-1wertigen) MatrixFml:
J4: {=VJoin(WENN(INDEX(B2:F5;VERGLEICH(I4;A2:A5;);0)="X";B1:F1;"");", ";-1)}
Für die VerkettungsFktionalität von VJoin hat MS in höheren Xl-Versionen die Fkt TEXTVERKETTEN (TextJoin) im Abo spendiert. Allerdings ist die wohl nicht so flexibel wie die UDF.
VJoin https://www.herber.de/bbs/user/99024.xlsm (Vs1.4 in BspDatei)
Morrn, Luc :-?
Besser informiert mit …
Anzeige
AW: gesucht war aber nicht (nur) die Verkettung...
06.05.2017 08:24:43
...
Hallo Luc,
... sondern die entsprechenden Zubehöre in einer Dropdownliste in J4.
Die von Dir weiter erwähnte Funktion TEXTVERKETTEN() gibt es in der Excelversion 2010, die Fabian hat auch noch nicht.
Gruß Werner
.. , - ...
Hatte nur 'als deiner' doch noch vergessen, ...
06.05.2017 15:50:49
Luc:-?
…Werner,
und in seiner BspDatei macht meine Fml genau das, was er gewünscht hat, nur auf die 2.DropDown-Liste habe ich zugunsten der angegebenen Alternative verzichtet. Ich glaube auch nicht, dass das so zu verstehen war, dass dort ein 2.DropDown über alle Kombinationen einzurichten wäre, denn das würde ja Bidirektionalität bedeuten! Gemeint war wohl eher eine Aufklapp-Liste mit zeilen­weise angeord­neten Z-Teilen. Aber wie Du das ohne VBA erreichen willst, wäre mir dann doch zu umständlich und unelegant. Sicher reicht doch für Übersichtszwecke schon meine Alternative anstatt noch eine anders sortierte Riesenliste bereit halten bzw eine uU auch recht große stets neu erzeugen zu müssen… ;-)
Gruß+schöWE, Luc :-?
Anzeige
AW: eine 2. Dropdownzelle kann Sinn geben ...
06.05.2017 17:48:37
...
Hallo Luc,
... z.B. angenommen er will eine konkrete Kombination Produkt & ein Zubehör verpreisen etc.
Wenn er aber keine abhängige Dropdownzelle benötigt würde ich trotzdem die Auflisting der zugeordneten Zubehöre Zellen getrennt vornehmen. Aber das ist möglicherweise wirkllich Ansichtssache.
Gruß Werner
.. , - ...
Nun ja, kann man auch machen, aber war aus ...
06.05.2017 19:27:08
Luc:-?
…seiner BspDatei nicht unbedingt zu schließen, Werner,
denn da war ja auch nur eine Zelle dafür vorgesehen. Statt komma-getrennt, hätte ich die Z-Teile dort auch zeilenumbruch-getrennt einfügen können, abgesehen mal davon, dass auch mehrere Zellen möglich gewesen wären:
J4:J6: {=MTRANS(VSplit(VJoin(WENN(INDEX(B2:F5;VERGLEICH(I4;A2:A5;);0)="X";B1:F1;"");"|";-1);"|"))}
Luc :-?
Anzeige
Übrigens geht auch Folgendes sehr gut, ...
06.05.2017 19:37:55
Luc:-?
…Werner,
mehrere Zeilen und ein Ausflug in die Mengenlehre:
J4:J6: {=DataSet(WENN(INDEX(B2:F5;VERGLEICH(I4;A2:A5;);0)="X";B1:F1;0);0;-1)}
DataSet (nur Vs1.0)
Luc :-?
AW: möglich, aber ...
07.05.2017 10:17:52
...
Hallo Luc,
... um die Ergebnisse in mehre Zeilenzellen zu schreiben, bedarf ich weder einer UDF noch einer klassischen Matrixformel sondern würde meine für L4 aufgezeigte Formel umschreiben zu:
=WENNFEHLER(INDEX($1:$1;AGGREGAT(15;6;SPALTE(B$1:$H$1)/(B$2:H$99="x")/(A$2:A$99=I$4);ZEILE(A1)));"")
und diese nach unten kopieren.
Gruß Werner
.. , - ...
Anzeige
Mit einer Fkt mehr... ;-) Aber das sollte auch ...
07.05.2017 14:57:58
Luc:-?
…nicht das Entscheidende sein, Werner,
denn Du sortierst ja quasi nur die leeren, weil unpassenden Ergebnisse ans Ende und musst dann doch noch WENNFEHLER ein­set­zen. DataSet lässt die hier gleich weg und ermöglicht auch noch andere Manipulationen mit ZahlenMengen, die mit Standard­Fktt wahr­scheinlich auch, aber sicher umständlicher u/o allgemein schwerverständlicher zu erreichen sind. Dagg ist die Theorie (Men­gen­lehre) hinter DataSet klar definiert und kann einschlägig nachgelesen wdn… ;-)
Gruß + schöSo, Luc :-?
AW: dafür ausschlließl. Standardfunktionen ;-) owT
07.05.2017 15:11:27
...
Gruß Werner
.. , - ...
JETZIGER Standard, dem ich vorauseile! ;-) owT
07.05.2017 16:52:59
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige