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))
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)
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!
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".
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
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.
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
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.