Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Excel - (abhängige) DropDown-Menüs
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 26.03.2008, 01:05 Nach oben

Hallo!

(Im Anhang befindet sich eine Beispieldatei, auf die sich die Erklärungen dieses Tutorials beziehen.)

Eine Frage, die immer wieder im Excel-Forum auftaucht, ist die folgende:
"Wie kann ich zwei voneinander abhängige DropDowns erstellen?"
(Der Begriff "DropDown" wird häufig auch "PullDown", "Auswahlmenü", o.ä. genannt.)

Oder ausführlicher: In einem ersten DropDown (im weiteren kürze ich dies mit "DD" ab) wird eine "Vorauswahl" getroffen, und die Einträge in einem zweiten DropDown sollen sich entsprechend dieser Vorauswahl anpassen.
In meinem Beispiel kann man im ersten DD einen Kontinent wählen; im zweiten DD sollen die zugehörigen Länder/Staaten angeboten werden (und zwar NUR diese!).

Die Erstellung des ersten DD ist recht trivial, da dieses ja statisch ist, weil es eben genau fünf Kontinente gibt (keine Spitzfindigkeiten wegen der Antarktis, bitte...).
Die Kontinente stehen in A1:E1, also ist die Erstellung des DD ein Kinderspiel:

1. Markiere H2.
2. Wähle Menü Daten > Gültigkeit (in Excel07: Ribbon Daten > Datentools > Datenüberprüfung)
3. Unter "Zulassen" wählst du den Eintrag "Liste".
4. Unter "Quelle" gibst du den Zellbereich an, in dem die Daten stehen, also "=A1:E1" (ohne Gänsefüßchen!), alternativ kannst du die Daten auch einfach mit der Maus markieren.
5. Klicke "OK" und alles sollte passen.

Nun geht es aber an die Erstellung des zweiten DD, welches sich ja auf das erste DD beziehen soll.
Wenn im ersten DD z.B. "Europa" ausgewählt wurde, dann sollen auch nur europäische Länder/Staaten auswählbar sein; alles andere macht schließlich keinen Sinn...


Erste/einfache Variante (statisch; meist auch ausreichend, bzw. zutreffend):

(Die Funktion INDEX(Bereich;Zeile;Spalte) ist in der Excel-Hilfe dokumentiert. Ebenso die Funktion VERGLEICH und alle weiteren Funktionen, die hier verwendet werden.)

1. Markiere I2.
2. Wähle Menü Daten > Gültigkeit
3. Unter "Zulassen" wählst du den Eintrag "Liste".
4. Unter "Quelle" gibst du folgende Formel an:
=INDEX(A2:E9;;VERGLEICH(H2;A1:E1;))
5. Klicke OK.

Warum funktioniert das?
Die verfügbaren Länder/Staaten befinden sich im Zellbereich A2:E9.
Die Funktion, die bei der Gültigkeit/Datenüberprüfung angegeben ist
=INDEX(A2:E9;;VERGLEICH(H2;A1:E1;))
liefert dir nun den passenden Bereich.
Warum das?
Der Zeilenbereich der INDEX-Funktion wurde freigelassen (deshalb das doppelte Semikolon), daher werden alle Zeilen des Bereichs berücksichtigt.
Die passende Spalte ermittelt die Funktion VERGLEICH.

Als Beispiel (da ich die erbärmliche Excel-Hilfe kenne...):
In H2 steht "Afrika".
VERGLEICH(H2;A1:E1;) gibt als Ergebnis "3", da "Afrika" in der dritten Spalte des angegebenen Bereichs steht.
Also liefert INDEX(A2:E9;;3) ein Array mit allen Werten aus der dritten Spalte des Bereichs A2:E9, also genau das, was du gerne hättest (C2:C9), und damit auch genau das, was dein DD anzeigen/anbieten soll.

Soweit zu dieser Variante...


Manchmal (wie auch in diesem Beispiel) haben die unterschiedlichen Bereiche auch unterschiedliche Längen; so sind z.B. bei "Europa" sechs Länder/Staaten aufgeführt, bei „Australien“ aber nur zwei.
Wie du sicher schon bemerkt hast, haben alle DDs der ersten Variante die gleiche Länge, nämlich 8, weil der Bereich A2:E9 genau 8 Zeilen umfasst.
Aber warum sollen im DD irgendwelche leeren(!) Einträge aufgeführt werden? Die Auswahl dieser leeren Einträge macht ja schließlich keinen Sinn.
Kann man das umgehen?
Ja!
In diesem Fall ist es leider etwas aufwändiger, da Excel offensichtlich seine eigenen Regeln hat, in welcher Reihenfolge es gewisse (vom Benutzer festgelegte) Definitionen abfragt...


Zweite/dynamische Variante:

Wie du siehst, werden auch im Fall "Australien" acht Auswahlmöglichkeiten angeboten, obwohl praktisch nur zwei Länder/Staaten zur Auswahl stehen.
Schöner wäre es daher, die Länge des DD auf die tatsächlich zur Verfügung stehenden Länder/Staaten anzupassen.

Um dies zu erreichen, musst du für jeden Kontinent einen Namen definieren.
Das ist einfach, wenn auch mit einiger (dafür aber ein(!)maligen) Tipparbeit verbunden:

1. Wähle Menü Einfügen > Namen > Definieren (in Excel07: Ribbon Formeln > Definierte Namen > Namen definieren)
2. Unter "Name" trägst du "Europa" ein.
3. Unter "Bezieht sich auf" trägst du diese Formel ein:
=BEREICH.VERSCHIEBEN($A$2;;;ANZAHL2($A:$A)-1)
(weitere Informationen zum Thema "dynamische Bereichsnamen" findest du hier)
4. Klicke "Hinzufügen"

5. Unter "Name" trägst du "Asien" ein.
6. Unter "Bezieht sich auf" trägst du diese Formel ein:
=BEREICH.VERSCHIEBEN($B$2;;;ANZAHL2($B:$B)-1)
7. Klicke "Hinzufügen" und fahre in analoger Weise fort bis "Australien", wobei du immer den Spaltenindex anpassen musst (von B auf C, von C auf D und von D auf E).

8. Klicke "OK".

9. Markiere I3.
10. Wähle Menü Daten > Gültigkeit
11. Unter "Zulassen" gibst du wieder "Liste" ein.
12. Unter "Quelle" gibst du jetzt diese Formel ein:
=WAHL(VERGLEICH(H2;$A$1:$E$1;);Europa;Asien;Afrika;Amerika;Australien)
13. Klicke "OK".

Was macht denn nun wieder diese WAHL(VERGLEICH(...-Formel?

VERGLEICH(...) liefert (wie oben auch schon) den Spaltenindex vom Wert in H2.
Steht z.B. in H2 "Afrika", dann liefert VERGLEICH(...) den Wert 3.

WAHL(3;A;B;C;D;E;F;G;H;...)
liefert den Bereich, der an dritter Stelle steht, hier also C. (Bis zu 30 Argumente sind möglich, und das sollte in den meisten Fällen auch reichen.)

Nun sollte es genauso aussehen und funktionieren, wie in der angehängten Beispieldatei.
Wenn du die Liste(n) manuell erweiterst, passen sich die Namen sogar an. Allerdings solltest du Leerzeilen vermeiden, sonst müssen noch weitere Abfragen eingebaut werden.

Das tut es nicht???Image
Dann melde dich bitte im Excel-Forum mit einem Hinweis auf dieses Tutorial!


DD (abhängig).xls
 Beschreibung:

Download
 Dateiname:  DD (abhängig).xls
 Dateigröße:  13.5 KB
 Heruntergeladen:  784 mal


_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Excel Tabellenzeilen in Spalten umwan... robbe Microsoft Excel Hilfe 4 21.11.2008, 13:52 Letzten Beitrag anzeigen
Keine neuen Beiträge Excel erkennt "Format$" sei... timi Microsoft Excel Hilfe 0 21.11.2008, 13:39 Letzten Beitrag anzeigen
Keine neuen Beiträge Korrektes Format für Zeit bzw. Stunde... Simon Excel Microsoft Excel Hilfe 2 21.11.2008, 09:06 Letzten Beitrag anzeigen
Keine neuen Beiträge Excel Tabelle in Word lizzi Microsoft Word Hilfe 0 20.11.2008, 14:17 Letzten Beitrag anzeigen
Keine neuen Beiträge Excel-Probelm SVERWEIS Barney80 Microsoft Excel Hilfe 1 19.11.2008, 19:11 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de