Abhängige Dropdownlisten erstellen.
#1
Hallo zusammen,

ich hoffe, dass mein Problem hier richtig aufgehoben ist.
Mein Problem ist ähnlicher Natur.

Ich habe eine Datenbank in Form eines Table-Object.
Und nun wollte ich, für dieses Bsp. erstmal, 3 abhängige Drop-Down-Listen generieren.

INDIREKT() ist mir auch schon länger bekannt.
Sowas wie
=INDIREKT("Tabelle1[a]") funktioniert auch.

Aber wie kombiniere ich das mit:
FILTER()
und
EINDEUTIG()
?

Sowas geht leider nicht:
=EINDEUTIG(INDIREKT("Tabelle1[a]"))

Oder um Abhängigkeiten zu generieren:
=FILTER(INDIREKT("Tabelle1[b]");INDIREKT("Tabelle1[a]")=F17)
=EINDEUTIG(FILTER(INDIREKT("Tabelle1[b]");INDIREKT("Tabelle1[a]")=F17))

Schreibe ich diese in eine Zelle, werden alle Objekte fein untereinander (dynamisch) angezeigt.
Nur mit Datenüberprüfung geht es nicht.
"Die Quelle untersucht gerade einen möglichen Fehler. Möchten Sie den Vorgang fortsetzen?"

Dokument ist im Anhang an diese Antwort.

Es könnte auch sein, dass mein Ansatz gänzlich falsch ist und man das nicht so kompliziert machen muss.
Bitte andere Vorschläge unterbreiten.
Weil FILTER() immer länger wird, je mehr Spalten man filtert:
=FILTER(INDIREKT("Tabelle1[c]");(INDIREKT("Tabelle1[a]")=F17)*(INDIREKT("Tabelle1[b]")=J17))

Grüße
TenchiMuyo1984


Angehängte Dateien
.xlsx   Drop-Down-Test.xlsx (Größe: 14,24 KB / Downloads: 9)
Antworten Top
#2
Hallo Tenchi,

ich habe deinen Beitrag aus dem anderen Thread herausgelöst und ein neues Thema erstellt. Das "Anhängen" an bestehende Beiträge erschwert sonst den Überblick; möglicherweise kommen auch keine Antworten, weil die Helfer den Thread als erledigt "abgehakt" haben.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Moin

@Günter
Danke für das Abhängen.

@TenchiMuyo1984
Ansatz von Ralf
https://www.clever-excel-forum.de/Thread...#pid144121

Ergänzung von mir
https://www.clever-excel-forum.de/Thread...wns--30229
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#4
(11.06.2022, 19:21)WillWissen schrieb: Hallo Tenchi,

ich habe deinen Beitrag aus dem anderen Thread herausgelöst und ein neues Thema erstellt. Das "Anhängen" an bestehende Beiträge erschwert sonst den Überblick; möglicherweise kommen auch keine Antworten, weil die Helfer den Thread als erledigt "abgehakt" haben.

Ok, das wusste ich nicht.
Dachte dass man ähnliche Fragen im gleichen Thread weiter behandeln soll.
Aber danke!

(11.06.2022, 19:44)shift-del schrieb: Moin

@Günter
Danke für das Abhängen.

@TenchiMuyo1984
Ansatz von Ralf
https://www.clever-excel-forum.de/Thread...#pid144121

Ergänzung von mir
https://www.clever-excel-forum.de/Thread...wns--30229

Wenn ich das richtig verstehe, geht es darum, dass ich die "Vorfilterung" auf einem eigenen Tabellenblatt durchführe und dann über das bei der Datenüberprüfung referenziere.
Leider kann ich das nicht machen, weil ich mehrere Zeilen habe, die sich immer ändern könnten je nachdem was vorher vorne eingegeben wurde..
Das werden hinterher, aktuell bis zu 50 Zeilen mit 5 Spalten.
Für alle diese Zellen die Bereichsfilter "vorfiltern" hilft nicht, weil es dann 250 Bereiche wären ....

Wie man in meinem hochgeladen Sheet sehen kann, funktionieren meine Formeln auch. Die Filterung funktioniert. Aber eben nur in der Zelle und nicht bei "Datenüberprüfung".

Grüße
TenchiMuyo1984
Antworten Top
#5
Habe leider keinen "Edit"-Button gefunden. Daher der Doppelpost.

Habe mir mal eben die Typ-Codes folgender Formeln angeschaut:

PHP-Code:
=Tabelle1[a]
=
INDIREKT("Tabelle1[a]")
=
EINDEUTIG(Tabelle1[a])
=
EINDEUTIG(INDIREKT("Tabelle1[a]"))
=
EINDEUTIG(FILTER(INDIREKT("Tabelle1[b]");INDIREKT("Tabelle1[a]")=F17)) 

PHP-Code:
=TYP(Tabelle1[a])
=
TYP(INDIREKT("Tabelle1[a]"))
=
TYP(EINDEUTIG(Tabelle1[a]))
=
TYP(EINDEUTIG(INDIREKT("Tabelle1[a]")))
=
TYP(EINDEUTIG(FILTER(INDIREKT("Tabelle1[b]");INDIREKT("Tabelle1[a]")=F17))) 
Alle geben als Typ-Code "64" aus, was Array bedeutet.

Die Datenüberprüfung akzeptiert aber nur:
PHP-Code:
=INDIREKT("Tabelle1[a]"
Was unterscheidet die anderen Varianten voneinander?

Grüße
TenchiMuyo1984
Antworten Top
#6
Hallo,

EINDEUTIG, FILTER usw. geben dynamische Arrays zurück. Das sind keine normalen Arrays. Meines Wissens gibt es wohl
keine Lösung für die von Dir angesprochenen Datenüberprüfungen - ausser den von shift-del erwähnten Möglichkeiten.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#7
Warum macht M$ denn nur so ein sch...... ....öhnes Excel mit neuen Dynamischen Arrays, die dann nicht von allen Funktionen unterstützt werden?

Das ist ja genau so schlecht wie die unterschiedlichen Funktonen zwischen Web- und Desktop-App bei Microsoft 365...

Ich habe noch mal mit einem Kollegen gesprochen.
Wir benötigen das mit (aktuell) 14 Spalten und x-Zeilen.
Wobei x auf über 10'000 bis Ende Juli wachsen wird.

Würde die Datenvalidierung diese akzeptieren, bräuchte ich für alle > 140'000 Zellen nur eine Formel.
Der Vorschlag von shift-del bedürfe eines Tabellenblatts mit > 140'000 Bereichen.
Wie soll ich das denn bitte pflegen/warten geschweige denn Erzeugen?

Gibt es denn eine Möglichkeit aus dynamischen Arrays "statische" zu generieren?
Oder kann ich ein Auswahlmenü ohne Datenvalidierung bauen?

PS.:
VBA fällt weg, weil es sowohl in der Web-App als auch in der Desktop-App laufen muss und die Web-App schlicht kein VBA unterstützt, sondern nur Excel-Script, welches aber nicht in der Desktop-App zur Verfügung steht.

Grüße
TenchiMuyo1984
Antworten Top
#8
Hallo,

geht nun mal halt nicht alles auf einmal. Du musst auch bedenken, dass ein Teil des Excel-Quellcodes nun mal älter ist und sich nicht
einfach mal so umstellen lässt. Und was Excel-Online betrifft, das ist eine Neuentwicklung und braucht entsprechend. Nebenbei,
ich sage das aber nicht, um MS zu verteidigen, sondern weil ich nun mal selber als Entwickler solche Problematiken kenne. 

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#9
Hi,

Zitat:Alle geben als Typ-Code "64" aus, was Array bedeutet.

Die Funktion TYP kennt nur die Einheitsbezeichnung Matrix bzw. Array - und zwar für a) Array und b) Bezug.
a) und b) sind aber 2 unterschiedliche Dinge.
Beispielsweise braucht die Funktion ZÄHLENWENN zwingend einen Bezug:

=ZÄHLENWENN(A1:A3;2) geht, aber =ZÄHLENWENN({1.2.3};2) geht nicht, weil {1.2.3} ein Array, aber kein Bezug ist.

Die Spill-Bezüge sind allerdings schon gewissermaßen Bezüge, denn =ZÄHLENWENN(A1#;2) funktioniert wiederum einwandfrei. Dennoch beißt sich das sowohl mit der Datenüberprüfung als auch mit der Bedingten Formatierung. Zur möglichen Begründung wurde hier aber schon alles gesagt.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste