Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: dynamische Dropdown liste

dynamische Dropdown liste
15.05.2017 20:03:42
Kailash
Hallo Excel Freunde!
Mit Datenüberprüfung, Liste möchte ich:
In Tabelle1 in A1 ist ein DropDown Menü in dem man die Überschrift von Daten in Tabelle2 auswählen kann. z.B. das Wort "Stadt"
Unter dem ersten Dropdown Menü möchte ich ein zweites Dropdown Menümachen, das dann den Inhalt der Spalte "Stadt" als Auswahlliste anzeigt (z.B. Berlin, München, Bonn usw.)
Ich möchte aber keine intelligenten Tabellen verwenden, auch keine Benannten Bereiche.
Die Formel (D2 ist die Spalte "Stadt"):
=BEREICH.VERSCHIEBEN($D$2;0;0;ANZAHL2(D2:D1000))
Das $D$2 muss ich nun austauschen gegen z.B. eine Vergleich Formel, die ja die Spaltennummer (Stadt)findet.
=VERGLEICH(U7;'Tabelle2'!1:1;0)
Wie baut man das ein so dass es funktioniert?
Da gleiche auch für den Spaltenbereich D2:xxxx (dynamisch)
Grüsse
Kailash
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamische Dropdown liste
15.05.2017 20:08:37
Kailash
Sorry
=VERGLEICH(A1;'Tabelle2'!1:1;0)
muss es heissen
AW: dynamische Dropdown liste
16.05.2017 08:26:04
Beverly
Hi,
versuche es mit INDIREKT. Da ich deinen genauen Tabellenaufbau nicht kenne, eventuell nach dem Prinzip wie im angehängten Beispiel.
https://www.herber.de/bbs/user/113603.xlsx


Anzeige
funktioniert nicht
17.05.2017 11:52:41
Kailash
Hallo!
Nun habe ich so an die 6 Stunden mit den Beispiel von Karin und Werner zugebracht und ich krieg es einfach nicht zum Laufen.
Ich konnte Werners Sache zum Laufen kriegen wenn alles auf einem Tabellenblatt war, aber nicht wenn ich das DropDown in einem Tabellenblatt habe und die Daten in einem anderen Tabellenblatt.
Sollte das möglich sein? Oder funktioniert das nur wenn beides auf dem gleichen Tabellenblatt ist?
Bei mir ist es auf verschiedenen Tabellenblättern.
Und dann verstehe ich einfach nicht was das mit Index:Index auf sich hat.
Könnte das jemand erklären oder mir einen Link zu einer Erklärung schicken?
Ich hätte dann später noch mehr Fragen dazu, wollte aber erst mal bei einer anfangen.
Viele Grüsse
Kailash
Anzeige
Dann lade doch mal...
17.05.2017 12:08:37
Beverly
...DEINE Arbeitsmappe hoch.


AW: Dann lade doch mal...
17.05.2017 12:21:24
Kailash
ok, kann später eine Beispieldatei anfertigen, meine kann/möchte ich nicht hochladen.
AW: Dann lade doch mal...
17.05.2017 14:08:25
Kailash
Hallo Beverly!
Hier meine Beispiel Datei:
https://www.herber.de/bbs/user/113642.xlsx
Viele Grüsse
Kailash
Anzeige
AW: Dann lade doch mal...
17.05.2017 15:53:20
Beverly
Hi,
Formel für Filter_headline1: =INDEX(INDIREKT("Sheet2!"&ADRESSE(1;VERGLEICH(Sheet1!$A$2;Sheet2!$1:$1;0))&":"&ADRESSE(500;VERGLEICH(Sheet1!$A$2;Sheet2!$1:$1;0)));2;):INDEX(INDIREKT("Sheet2!"&ADRESSE(1;VERGLEICH(Sheet1!$A$2;Sheet2!$1:$1;0))&":"&ADRESSE(500;VERGLEICH(Sheet1!$A$2;Sheet2!$1:$1;0)));ANZAHL2(Sheet2!$A:$A))
Formel für Filter_headline2: =INDEX(INDIREKT("Sheet2!"&ADRESSE(1;VERGLEICH(Sheet1!$C$2;Sheet2!$1:$1;0))&":"&ADRESSE(500;VERGLEICH(Sheet1!$C$2;Sheet2!$1:$1;0)));2;):INDEX(INDIREKT("Sheet2!"&ADRESSE(1;VERGLEICH(Sheet1!$C$2;Sheet2!$1:$1;0))&":"&ADRESSE(500;VERGLEICH(Sheet1!$C$2;Sheet2!$1:$1;0)));ANZAHL2(Sheet2!$A:$A))
https://www.herber.de/bbs/user/113647.xlsx


Anzeige
AW: funktioniert nicht
17.05.2017 12:19:31
Kailash
Hallo!
Hier mal mein Versuch mit Werners Vorschlag, Funktioniert nicht wenn dropdown und Daten auf verschiedenen Tabellenblättern sind
https://www.herber.de/bbs/user/113640.xlsx
Grüsse
Kailash
AW: so nicht, aber wie aufgezeigt schon ...
17.05.2017 15:22:34
...
Hallo Kailash,
... in Deinem Beispiel definiere bei aktivierter Zelle sheet1!A1 den Bereichsnamen, z.B. namens: WAHL
WAHL: =INDEX(Sheet2!$2:$2;VERGLEICH(Sheet1!A$2;Sheet2!$1:$1;)):INDEX(Sheet2!$A:$J;ANZAHL(Sheet2!$A:$A)+1;VERGLEICH(Sheet1!A$2;Sheet2!$1:$1;))
Nun definiere nur noch die Datengültigkeit zu Liste: =WAHL
Das kannst Du sowohl in A4:A8 als auch C4:C8 so anwenden. Auf die Kennzeichnung mit bedingter Formatierung in A4:A8 als auch C4:C8 bei nachträglicher Änderung der Dropdownauswahl in A2 bzw. C2 hab ich hier verzichtet.
Gruß Werner
.. , - ...
Anzeige
nun funktioniert es aber...
18.05.2017 13:45:14
Kailash
Hallo Werner!
Hallo Beverly!
nach stundenlangem tun habe ich die Formel nun erfolgreich übernommen.
Wollte euch herzlich für Eure Mühe danken!
Werner:
Dein Formel ist zwar schön kurz, funktioniert aber leider nicht mit einer variablen spaltenzahl.
Ich habe die Spaltenzahl
Sheet2!$A:$J
auf z.B. Sheet2!$A:$Z
geändert. Dann hat es nicht mehr funktioniert wenn die Spalten leer sind. Es ist aber wichtig für mich weil die Daten immer verschieden viele Spalten und Zeilen haben können.
Deshalb habe ich die Formel von Karin eingebaut.
Deine kann ich ja vielleicht ein anderes mal verwenden.
Karin:
Deine Formel ging nur bis 500 Zeilen, habe das auf 100000 geändert.
Hatte viel Probleme die einzubauen, meist wegen dem Tabellennamen, weil der mit Strichen 'new Data'! geschrieben werden muss.
Nachteil mit deiner Formel ist ja dass wenn man den Namen vom Tabellenblatt ändert, die Tabellennamen in der Formel, die in "" stehen, nicht automatisch geändert werden.
=INDEX(INDIRECT("'new Data'!"&ADDRESS(1....
Da kann ich aber mit leben. Das ganze ist aber extrem kompliziert und ich hab es nicht verstanden.
Könnte jemand von Euch erklären was Index:Index bedeutet?
Ich habe noch nie eine Formel gesehen, die so aufgebaut ist. Oder wo kann ich sowas nachlesen?
Allen die mitgeholfen haben das zu lösen ein herzliches Dankeschön!
/Kailash
Anzeige
AW: nun funktioniert es
18.05.2017 15:08:50
Beverly
Hi,
da mir nicht bekannt ist, wieviel Daten bei dir maximal vorliegen können, habe ich die 500 nur von mir aus angenommen.
INDEX():INDEX() ist eine Bereichsangabe, wobei der erste INDEX() die Adresse der Startzelle angibt und der zweite INDEX() die Adresse der Endzelle für den gesuchten Bereich - ist also nichts anderes als z.B. A2:A500, nur dass eben die Spalte vorher unbekannt ist und es folglich auch B2:B500 oder Z2:Z500 sein könnte. Durch die Verwendung von INDEX() wird das ganze halt flexibel in Anhängigkeit von der Auswahl der übergeordneten Gültigkeitszelle.


Anzeige
AW: die Anpassung meiner Formel ist möglich ...
18.05.2017 23:37:39
...
Hallo Kailash,
... und diese funktioniert auch korrekt, wenn sie auf A:Z oder anders angepasst wird.
Du hast möglicherweise vergessen/übersehen, dass ich lediglich eine Formel für die Datengültigkeitsformel zur "Filter for" bereitgestellt hatte, die auf Deine die Werte Deiner Auswahl in "Filter headline1" bzw. "Filter headline2" zurückgreift. Diese waren/sind für die Auswahl der maßgebenden Spalten zuständig. Deren Formeln stammen aber von Dir oder jemand anders. Ich hatte diese zunächst belassen, obwohl ich diese auch anders definiert hätte, weil diese für Deine Fragestellung mir nicht entscheidend schienen.
Unklar ist mir nun aber, ob und wenn ja, warum Du wirklich leere Spalten in sheet2 berücksichtigen musst/willst?
Gruß Werner
.. , - ...
Anzeige
AW: die Anpassung meiner Formel ist möglich ...
20.05.2017 09:50:29
Kailash
Hallo Werner!
Also die Daten kommen da mit VBA rein. Und es können unterschiedliche Datentabellen sein, die unterschiedlich lang sind und verschieden viele Spalten haben mit verschiedenen Überschriften.
Die Datei, die ich mache, soll sehr flexibel sein und für viele Menschen verwendbar, so dass niemand mehr den VBA code oder die Formeln für irgendwas ändern muss.
Das ist alles sehr aufwendig, aber ich glaub es ist es wert der Mühe. Noch schwieriger wird es dadurch, dass ich Excel und VBA erst lerne.
Das wird eine Datei mit der man online Anmeldungen herunterladen kann und dann in eine andere Excel Tabelle importieren kann, wo man die Anmeldungen dann bearbeiten kann.
Ich schätze es sehr dass ihr euch Zeit nehmt um anderen Leuten zu helfen. Da bin ich sehr dankbar für.
Viele Grüsse
Kailash
Anzeige
oder mein uraltes
16.05.2017 09:38:46
lupo1
http://xxcl.de/0032.htm
was ich heute sicher etwas anders machen würde. So aber kostet mich das jetzt nur 1 Minute.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dynamische Dropdown-Listen in Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Tabellen vorbereiten: Stelle sicher, dass Du mindestens zwei Tabellen hast. Tabelle1 ist die, in der das Dropdown-Menü angezeigt werden soll, und Tabelle2 enthält die Daten, die für die dynamische Dropdown-Liste verwendet werden.

  2. Erstes Dropdown-Menü erstellen:

    • Wähle die Zelle in Tabelle1 (z.B. A1) aus, in der das Dropdown-Menü erscheinen soll.
    • Gehe zu Daten > Datenüberprüfung.
    • Wähle Liste und gib die Überschriften aus Tabelle2 an (z.B. Tabelle2!A1:Z1).
  3. Dynamische Dropdown-Liste mit INDEX und VERGLEICH:

    • Wähle die Zelle aus, in der das zweite Dropdown-Menü erscheinen soll (z.B. A2).
    • Gehe erneut zu Daten > Datenüberprüfung.
    • Wähle Liste und gebe folgende Formel ein:
      =INDIREKT("Tabelle2!" & ADRESSE(2;VERGLEICH(A1;Tabelle2!$1:$1;0)) & ":" & ADRESSE(100000;VERGLEICH(A1;Tabelle2!$1:$1;0)))
  4. Formel anpassen: Stelle sicher, dass die Formel alle relevanten Spalten und Zeilen abdeckt. Hierbei kann die Anzahl der Zeilen (100000) je nach Bedarf angepasst werden.

  5. Testen: Wähle eine Überschrift im ersten Dropdown-Menü und überprüfe, ob das zweite Dropdown-Menü die entsprechenden Werte anzeigt.


Häufige Fehler und Lösungen

  • Dropdown-Menü zeigt keine Werte an: Überprüfe, ob die Daten in Tabelle2 korrekt formatiert sind und ob die Formel in der Datenüberprüfung richtig eingegeben wurde.

  • Formel funktioniert nicht zwischen Tabellenblättern: Stelle sicher, dass Du die richtigen Tabellennamen in den Formeln verwendest und dass diese korrekt geschrieben sind.

  • Leere Spalten: Wenn Du leere Spalten hast, kann dies Probleme verursachen. Achte darauf, die Spaltenbereiche flexibel zu gestalten.


Alternative Methoden

  • VBA für dynamische Dropdown-Listen: Wenn Du mit Excel VBA vertraut bist, kannst Du ein Makro verwenden, um die Dropdown-Listen dynamisch zu aktualisieren. Hier ein Beispiel:

    Sub UpdateDropdown()
      Dim ws As Worksheet
      Set ws = ThisWorkbook.Sheets("Tabelle1")
      ws.Range("A1").Validation.Delete
      ws.Range("A1").Validation.Add Type:=xlValidateList, Formula1:="=Tabelle2!$A$1:$Z$1"
    End Sub
  • Verwendung von benannten Bereichen: Du kannst auch benannte Bereiche verwenden, um die Flexibilität der Dropdown-Listen zu erhöhen.


Praktische Beispiele

  1. Beispiel für eine Stadt-Dropdown-Liste:

    • In Tabelle1 in Zelle A1 wählst Du die Überschrift „Stadt“.
    • In Tabelle2 hast Du die Städte in Spalte D (z.B. D2:D100).
    • Die Formel für die dynamische Liste in Tabelle1 A2 könnte so aussehen:
      =INDIREKT("Tabelle2!" & ADRESSE(2;VERGLEICH(A1;Tabelle2!$1:$1;0)) & ":" & ADRESSE(100;VERGLEICH(A1;Tabelle2!$1:$1;0)))
  2. Beispiel für eine dynamische Liste mit mehreren Auswahlfeldern:

    • Du kannst mehrere Dropdown-Listen in verschiedenen Zellen einfügen, die jeweils auf unterschiedliche Daten in Tabelle2 zugreifen.

Tipps für Profis

  • Verwende die Formel BEREICH.VERSCHIEBEN: Diese kann helfen, dynamische Bereiche ohne benannte Bereiche zu erstellen.

  • Datenüberprüfung regelmäßig aktualisieren: Wenn sich die Daten in Tabelle2 ändern, teste regelmäßig die Dropdown-Listen und aktualisiere die Formeln, wenn nötig.

  • Fehlerbehebung mit Formeln: Nutze die Funktion ISTFEHLER, um eventuell Fehler in den Dropdown-Listen abzufangen.


FAQ: Häufige Fragen

1. Funktioniert die dynamische Dropdown-Liste auch in älteren Excel-Versionen?
Ja, die grundlegenden Funktionen wie INDIREKT, VERGLEICH und INDEX sind in den meisten Excel-Versionen verfügbar.

2. Kann ich die Dropdown-Liste automatisch aktualisieren?
Ja, wenn Du die Formeln korrekt eingerichtet hast, wird die Dropdown-Liste automatisch aktualisiert, wenn sich die Daten in Tabelle2 ändern.

3. Was ist der Unterschied zwischen INDIREKT und BEREICH.VERSCHIEBEN?
INDIREKT wandelt einen Textstring in einen Zellbezug um, während BEREICH.VERSCHIEBEN einen Bereich basierend auf einem Anfangspunkt und einer Anzahl von Zeilen/Spalten zurückgibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige