Clever-Excel-Forum

Normale Version: bedingte Dropdown-Auswahl
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes Forum,

ich möchte in einem Dropdown-Auswahlfeld nur Einträge (aus Spalte A) sehen, die in Spalte B (bzw. C) einen bestimmten Wert nicht überschreiten. Im Anhang habe ich eine simple Beispiel-Tabelle zur Veranschaulichung gebaut:

Die Dropdowns im Bereich A5-A9 sollen durch einen Freitext-Wert in B2 vorgefiltert werden, sodass nur Artikel bis zu einem bestimmten Wert (Preis) zur Auswahl stehen. 

Das Dropdown-Feld habe ich über Datenüberprüfung>Liste erstellt, vielleicht bietet das Formularbox-Auswahlfeld mehr Möglichkeiten. Mit meinen SVERWEIS- und WENN-Kenntnissen komme ich da nicht weiter.

Bin für jeden Tipp dankbar!

Freundliche Grüße,
Henk
Hi,

ich würde mit einer Hilfsspalte arbeiten und die DropDown-Auswahl auf diese beziehen:

Arbeitsblatt mit dem Namen 'DB_Item.Head'
ABCDEFG
1ArtikelGrößePreisFarbeMaterial
2Basecap "Barbie"L19,99pinkBaumwolleBasecap "Trump"
3Basecap "Trump"M19,99blauPolyesterBeanie "Street"
4Beanie "Street"L19,99grauBaumwolleBeanie "Understatement"
5Beanie "Understatement"L59,99beigeKashmir-Wolle
6Cowboyhut "Wayne"L19,99braunFilzPudelmütze "Basic"
7Pudelmütze "Basic"S9,99grünWollePudelmütze "Dutchman"
8Pudelmütze "Dutchman"L9,99orangeWolleStetson "Wiggins"
9Stetson "Wiggins"M59,99grauBaumwolle
10Zylinder "Copperfield"L119,99schwarzSeide

ZelleFormel
G2=WENNFEHLER(INDEX(Tabelle1[Artikel];WENN(Tabelle1[@Preis]<=Suchmaske!$B$2=WAHR;ZEILE();""));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Eine zweite Möglichkeit (um die Lücken auszuschließen) ist eine Hilfsspaltenlösung mit zwei Spalten, wobei du die Spalte G im Beispiel einfach ausblendest.

Arbeitsblatt mit dem Namen 'DB_Item.Head'
ABCDEFGH
1ArtikelGrößePreisFarbeMaterial
2Basecap "Barbie"L19,99pinkBaumwolle2Basecap "Trump"
3Basecap "Trump"M19,99blauPolyester3Beanie "Street"
4Beanie "Street"L19,99grauBaumwolle4Beanie "Understatement"
5Beanie "Understatement"L59,99beigeKashmir-WollePudelmütze "Basic"
6Cowboyhut "Wayne"L19,99braunFilz6Pudelmütze "Dutchman"
7Pudelmütze "Basic"S9,99grünWolle7Stetson "Wiggins"
8Pudelmütze "Dutchman"L9,99orangeWolle8
9Stetson "Wiggins"M59,99grauBaumwolle
10Zylinder "Copperfield"L119,99schwarzSeide

ZelleFormel
G2=WENN(Tabelle1[@Preis]<=Suchmaske!$B$2=WAHR;ZEILE();"")
H2=WENNFEHLER(INDEX(Tabelle1[Artikel];AGGREGAT(15;6;ZEILE($A$1:$A$10)/(ISTZAHL($G$1:$G$10));ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Danke Günter für die schnelle Antwort, die mich auf jeden Fall ein Stück weiter bringt! 

Ich muss mir jetzt erstmal in Ruhe die Formel zerpflücken, um zu verstehen was da eigentlich passiert.

Die Lücken sind nicht so sexy, aber wenn die Quell-Liste sowieso nach Preis sortiert ist nicht weiter schlimm.

Gibt es eigentlich auch Möglichkeiten ohne VBA, Einträge im Auswahlfeld "auszugrauen" statt leer zu lassen, wenn ein Kriterium nicht erfüllt wird?
Hi Henk,


Zitat:Die Lücken sind nicht so sexy, aber wenn die Quell-Liste sowieso nach Preis sortiert ist nicht weiter schlimm.

die gibt es in meinem zweiten Beispiel nicht mehr.

Zitat:Gibt es eigentlich auch Möglichkeiten ohne VBA, Einträge im Auswahlfeld "auszugrauen" statt leer zu lassen, wenn ein Kriterium nicht erfüllt wird?

In der Tabelle geht das mittels bedingter Formatierung; wenn du mit "Auswahlfeld" die gewünschte DropDown-Anzeige meinst: Nein
Hallo, oder so. Ohne Lücken. Das mit dem "Ausgrauen" habe ich nicht verstanden - wie grau(sam).


PHP-Code:
=WENNFEHLER(INDEX(Tabelle1[Artikel];AGGREGAT(15;6;ZEILE(Tabelle1[Artikel])/(Tabelle1[Preis]<=Suchmaske!$B$2);ZEILE(A1)));""
Apropos grau(sam) ein Basecape "Trump"..???? Ist wohl n schlechter Scherz..!?!?!?
@WillWissen: danke nochmal Günter, meine Antwort ist zeitgleich mit deinem 2. Post entstanden, weshalb ich die lückenlose Variante noch nicht gesehen habe.

Meine Frage zum Ausgrauen wurde richtig verstanden und beantwortet, danke!

@Jockel: danke auch dir für die elegante Version ohne Hilfsspalte!

Beide Varianten von 
Zitat:=WENNFEHLER(INDEX(Tabelle1[Artikel];AGGREGAT(15;6;ZEILE($A$1:$A$10)/(ISTZAHL($G$1:$G$10));ZEILE(A1)));"")
 
geben eine um 1 versetzte Ergebnisliste aus. Bei einem Wert =20 in "Suchmaske!$B$2" erhalte ich

[attachment=20261]

Pudelmütze "Basic" fehlt, Stetson "Wiggins" dürfte nicht in der Auswahl sein. Leider kenne ich noch keine der verwendeten Funktionen und versuche mich da grad einzulesen. Ich habe schon ein bisschen mit den Wertebereichen herumgespielt, aber das hat nicht geholfen.



P.S. ich fand die Bezeichnung für ein billiges Polyester-Basecap witzig. Falls ich damit irgendjemandes Gefühle verletzt habe bedaure ich das aufrichtig.
Hallo Henk,

ändere den Bereich im Formelteil ISTZAHL() auf $G$2:$G$10
Es funktioniert, verstehen tue ich es aber noch nicht ganz.

Was genau macht der Term ZEILE/ISTZAHL innerhalb der AGGREGAT-Funktion? Es scheint ein Array zu sein, aber kann mir nichts darunter vorstellen.
Worauf bezieht sich das ZEILE(A1) innerhalb des Aggregats, warum nicht A2?

Werde das mal etwas sacken lassen und weiter probieren. Vielen DANK!