Dynamic Cascading Drop-Downs (immer um die INDIRECT () Problem) in Microsoft Excel 2010
Das Kaskadieren abhängiger Dropdown-Felder ist ein unterhaltsamer und gängiger Trick, mit dem eine zweite Dropdown-Liste ihre Optionen basierend auf der in einem ersten Dropdown-Feld getroffenen Auswahl ändern kann. Dies wird üblicherweise mit der Funktion INDIRECT () erreicht.
Ein weiterer häufiger Trick besteht darin, mithilfe von Formeln für dynamische benannte Bereiche benannte Bereiche zu erstellen, die sich selbst anpassen, wenn Sie der Spalte Elemente hinzufügen. Sehr hilfreich.
PROBLEM: * Diese beiden „Tricks“ funktionieren nicht zusammen. Wenn Sie mithilfe von Dynamic Named Range-Formeln eine Liste von Teams erstellen und diesen benannten Bereich dann als Quelle für die DV-Liste in Zelle A1 verwenden, können Sie mit der INDIRECT (A1) -Methode nicht den abhängigen benannten Bereich mit demselben Namen auswählen als der ausgewählte Text in A1.
LÖSUNG: * Die Problemumgehung besteht dann darin, überhaupt keine dynamischen benannten Bereichsformeln zu erstellen. Stattdessen verschieben Sie alle dynamischen Aktivitäten in die Formel „Quelle“ für die Überprüfung abhängiger Daten.
SETUP:
-
Auf einem Dienstplanblatt befinden sich alle Ihre Listen nebeneinander in Spalten. Richten Sie sie folgendermaßen ein:
{leer} 2. Wir erstellen einen benannten Bereich namens AnchorCell, indem wir auf A1 klicken und diesen Namen wie oben gezeigt in das Namensfeld eingeben.
Auf diese Weise können wir später eine Datenvalidierungsformel erstellen, die auch in Excel 2003 funktioniert.
3.Wir erstellen einen dynamischen benannten Bereich namens Teams, indem wir STRG-F3 drücken und den Namen mit der RefersTo-Formel definieren:
= OFFSET (Dienstpläne! $ A $ 1 ,,, 1, COUNTA (Dienstpläne! $ 1: $ 1))
Auf diese Weise können Sie jederzeit neue Spalten (Teams) hinzufügen, ohne etwas anderes ändern zu müssen. Dies funktioniert weiterhin und schließt auch Ihre neuen Teams ein.
HINWEIS: Keine leeren Spalten, dies ist ein Referenzblatt. Halten Sie es aufgeräumt.
{leer} 4. Als nächstes verwenden wir die benannten rangeTeams als Listenquelle für unsere Spalte A Primärdatenvalidierung auf dem Blatt Auswahl *:
Nach der Bewerbung wird eine Liste der Teams aus Zeile 1 unseres Dienstplanblatts angezeigt:
{leer} 5. Und hier ist die Magie. Die Listenformel für die Datenvalidierung in B2 erledigt das gesamte schwere Heben. Mithilfe der Funktionen OFFSET () und MATCH wird das in Spalte A in Zeile 1 des Blattes * der Liste ausgewählte Team gefunden und anschließend nur ein Dropdown-Menü mit den Elementen in dieser Spalte erstellt. In B2 wäre die DV-Formel:
OFFSET (AnchorCell, 1, MATCH ($ A2, Teams, 0) -1, COUNTA (OFFSET (AnchorCell, MATCH ($ A2, Teams, 0) -1, 50, 1)) – 1, 1) Sie sollten Verbringen Sie einige Zeit damit, die Hilfedateien auf Offset zu lesen, damit die Parameter für Sie sinnvoll sind:
= OFFSET (Referenz, Zeilen, Spalten, [Höhe], [Breite])
{leer} 6. Nach der Anwendung erstellt sich die sekundäre Liste basierend auf der in der Spalte A getroffenen Auswahl selbst: