Dropdown von dropdown abhängig machen

Hallo Experten,

ich habe das selbe Problem, wie der Themenersteller.
Ich komme leider nicht ganz zurecht mit den Lösungsvorschlägen. ich habe auch die Tabelle runtergeladen, die weiter oben verlinkt ist (Bundesländer)

Ich habe die Testtabelle von Manfred erstellen wollen. Und zwar so wie beschrieben:

Tabelle Charaktere
A B
1 Menschen Zwerge
2 Schurke Krieger
3 Magier Paladine
4 Priester Ritter

In einer anderen
Tabelle Auswahl
A B
1 Rasse Auswahl

Jetzt habe ich im Tabellenblatt „Auswahl“ die Zelle A2 markiert und auf „Einfügen“, „Namen“ und „Definieren“ geklickt. Dort habe ich die

Rasse mit der Formel =BEREICH.VERSCHIEBEN(Charaktere!$A$1;;;;ANZAHL2(Charaktere!$1:blush:1))

RasseAuswahl mit der Formel =Auswahl!$A$2

und Klasse mit der Formel =BEREICH.VERSCHIEBEN(Charaktere!$A$1;1;VERGLEICH(RasseAuswahl;Rasse;0)-1;ANZAHL2(INDIREKT(„Charaktere!S“&VERGLEICH(RasseAuswahl;Rasse;0);FALSCH))-1)

hinzugefügt.

Aber nun weiß ich überhaupt nicht weiter. Wenn ich auf „Daten“, „Gültigkeit“ gehe und „Liste“ auswähle, was trage ich dort als Bereich ein? Oder bin ich da vollkommen falsch?

Vielen Dank vorab.

Gruß
Imhotep

Hallo Imhotep,

wenn Du die Namen definiert hast (dazu musstest Du noch nicht in irgendeiner Zelle sein):

Jetzt vergibst Du der Zelle A2 in Tabelle „Auswahl“ die Gültigkeit „=Rasse“ und der in B2 die Gültigkeit „=Klasse“. (Jeweils ohne Anführungszeichen vorn und hinten.)

Bei Bedarf können wir auch noch einmal die Namendefinitionen ein wenig erklären, um Dir Hilfestellung zu geben, wie Du dann die dritte Kombobox von der zweiten abhängig machen kannst…

Gruß, Manfred

Hallo Manfred,

danke für die Hilfe. Jetzt habe ich es zumindest schonmal hinbekommen, dass die 2 Dropdown-Menüs funktionieren. Mir hat einfach nur bei Gültigkeit der Eintrag des Namens unten gefehlt.

Nur wie das dann mit 3 Dropdown-Menüs funktionieren soll, ist mir noch ein Rätsel, genauso die Formeln für die Namensdefinitionen an sich. Wenn ich diese Funktionen in meine eigene Tabelle einbauen möchte, werd ich da etwas ändern müssen an den Formel, darum würde ich gerne die Funktionsweise bzw. den Aufbau der Formeln verstehen. Deshalb nehme ich das Angebot gerne an, mir die Namensdefinition genauer erklären zu lassen :smile:

Ich weiß bisher nur grob, dass die Definition von Namen dazu dient, mit Bereichen besser arbeiten zu können, da sie nicht mehr z.B. A1:B1 heißen sondern z.B. Rasse und damit auch das Tabellenblatt übergreifende Problem gelöst wird. Aber was die Formeln genau bedeuten ist mir nicht klar. Möchte nicht nur einfach kopieren und einfügen machen, sondern würde das gerne verstehen. :smile:

Vielen Dank schonmal

Gruß
Imhotep

Hallo Imhotep,

mit drei Komboboxen wird’s ein wenig komplizierter, weil es nicht so übersichtlich in einer Tabelle abzubilden ist - Du hat hier ja eine dreifache „Vererbung“ bzw. drei Dimensionen.

Zur Erklärung der Funktionen bzw. Namensdefinition:

Ganz ehrlich, ich habe mich oft gefragt: Wofür ist „BEREICH.VERSCHIEBEN“? Mittlerweile sage ich: eine der geilsten Funktionen…

Fangen wir langsam an:
Rasse: =BEREICH.VERSCHIEBEN(Charaktere!$A$1;;;;ANZAHL2(Charaktere!$1:blush:1))

Rasse wird definiert als der Bereich ab Charaktere!$A$1, verschoben um 0 Zellen nach unten und nach rechts (weil es ab A1 losgeht), und keine zusätzliche Zeile nach unten (eben nur in der ersten Zeile), und die Anzahl der unterschiedlichen Zellen (nicht: Zahlen, s. ANZAHL) nach rechts, also die Spaltenanzahl. Heißt im Klartext: Die Rassen stehen in Zeile 1, ohne Leerzellen.

RasseAuswahl: =Auswahl!$A$2

Die Auswahl wird in Zelle A2 getroffen. Das ist trivial und dient lediglich der Übersichtlichkeit.

Klasse: =BEREICH.VERSCHIEBEN(Charaktere!$A$1;1;VERGLEICH(RasseAuswahl;Rasse;0)-1;ANZAHL2(INDIREKT(„Charaktere!S“&VERGLEICH(RasseAuswahl;Rasse;0);FALSCH))-1)

Ein bisschen komplizierter, wenn auch nicht wirklich… Wir fangen in A1 an. Dann verschieben wir das um 1 nach unten (in der ersten Zeile sind die Rassen, darunter erst die Ausprägungen).

VERGLEICH(RasseAuswahl;Rasse;0) liefert die Spalte, in der die Auswahl steht (suche die Auswahl in der Zeile der Rassen und liefere die Spalte, s. o.).

Das -1 hinten dran reduziert das Verschieben: Wenn ich den Eintrag in der ersten Spalte finde, darf ich, weil ich auch mit A1 in der ersten Spalte anfange, nicht noch um eine zusätzliche Spalte verschieben.

Insgesamt hole ich mir hier also die Spalte.

ANZAHL2(INDIREKT(„Charaktere!S“&VERGLEICH(RasseAuswahl;Rasse;0);FALSCH))-1

Jetzt geht’s um die Zeilen. VERGLEICH(RasseAuswahl;Rasse;0) liefert, wie oben beschrieben, die Spalte, in der meine Rasse-Auswahl in der ersten Zeile zu finden ist.

INDIREKT(„Charaktere!S“&VERGLEICH(RasseAuswahl;Rasse;0);FALSCH) liefert mit dann den Bereich aus Tabelle „Charaktere“ in der besagten Spalte („S“ wie Spalte, x wie Nummer; FALSCH als Z1S1-Bezugsart, also Sx wie Spalte x, nicht A1 wie Zeile 1, Spalte A/1.

ANZAHL2(…) liefert die Anzahl der Texte in besagter Spalte; davon noch -1, weil die „Kopfzeile“ mit der Rasse zu ignorieren ist…

Jetzt kannst Du Dir also analog eine zweite Tabelle aufbauen, in der alle Charaktere (ab jeweils Zeile 2) mit zusätzlichen Eigenschaften enthalten sind, die Du mit einer analogen Namen- und Gültigkeitsdefinition versorgst…

Alles klar soweit? :wink:

Gruß, Manfred

Hallo Manfred,

ich glaub so grob habe ich es verstanden.

Ich habe jetzt ein weiteres Tabellenblatt „Herkunft“ angelegt und dort un der Zeile 1 die 6 verschiedenen Klassen nebeneinander eingetragen. Nun habe ich unter jeder Klasse 3 Werte geschrieben, für mein Test einfach nur z.B. „test Schurke 1“ bis „test Schurke 3“ bzw. „test Magier 1“ bis „test Magier 3“ usw.

Jetzt habe ich neue Namen definiert:

KlasseAuswahl: =Auswahl!$B$2
Herkunft: =BEREICH.VERSCHIEBEN(Herkunft!$A$1;1;VERGLEICH(KlasseAuswahl;Klasse;0)-1;ANZAHL2(INDIREKT(„Herkunft!S“&VERGLEICH(KlasseAuswahl;Klasse;0);FALSCH))-1)

was glaub irgendwie falsch ist.

Ich habe dann noch für Auswahl!$C$2 die Gültigkeit Herkunft definiert.

Die Auswahl der Klasse und herkunft des Menschen funktioniert, aber bei der Herkunft des Zwerges nimmt er wieder die ersten 3 Klassen, nämlich die des Menschen.

Kannst du mir sagen, wo mein Fehler liegt?

Mir ist zudem noch eine weitere Frage eingefallen. Bei dem Dropdown über ein Kombinationsfeld aus der Formularleiste gibt das Feld immer einen Wert in einer anderen Zelle an, die der Nummer der Auswahl entspricht (z.B. Auswahl 2 = Wert 2). Geht sowas mit der Gültigkeits-/Namensmethode auch? Ich habe nämlich vor in meiner eigenen Tabelle dann mit diesen Werten über VERWEIS wiederum weitere Daten heranzuziehen (Profilwerte wie Beweglichkeit, Stärke usw.)

Vielen Dank schonmal

Gruß
Imhotep