Benutzerdefiniertes Sortieren einer Tabelle

Eine Liste lässt sich mit wenigen Klicks sortieren, alphabetisch von A-Z (aufsteigend) oder Z-A (absteigend). Allerdings reicht dies unter Umständen nicht aus, wenn Du eine individuelle (benutzerdefinierte) Sortierung nach Kategorien oder ähnlich anstrebst. Vielleicht hast Du Glück und die Kategorien sind zufälligerweise in einer Reihenfolge, die sich sinngemäss auf- oder absteigend sortieren lässt. Meist ist dies jedoch nicht der Fall (z.B. auch bei Monaten oder Wochentagen). In diesem Beitrag zeige ich Dir aber eine Variante, wie Du eine eigene Sortierung vorgeben kannst ohne Hilfsspalten zu verwenden.

Angenommen Du hast eine Liste mit Freizeitaktivitäten:

sortList_initial

Wenn Du diese Liste nach ihrer Priorität (Spalte B) sortierst, wirst Du entweder die Einträge mit "Ignorieren" oder "Prio. 2" zu oberst darstellen. Gerne hätten wir jedoch die Reihenfolge: Prio. 1; Prio. 2; Ignorieren.

Um dies zu erlangen, wenden wir die Sortierung nach einer benutzerdefinierten Liste an. Markiere zunächst Deine gesamte Tabelle mit allen Aktivitäten & deren Prioritäten (oder klicke auf z.B. eine Überschrift "Freizeitaktivität" - denn der mögliche Tabellenbereich wird automatisch erkannt und vorgeschlagen). Gehe anschliessen im Menüband "Daten" auf "Sortieren":

Im angezeigten Fenster zur Sortierung kannst Du dann wählen: Sortieren nach "Priorität" und als Reihenfolge wählst Du "Benutzerdefinierte Liste...":

sortList_customList

Dies öffnet Dir umgehend ein weiteres Fenster. Generiere dort eine neue Liste, indem Du einfach Listeneinträge nach ihrer Reihenfolge eingibst. Jedes Kriterium schreibst Du auf eine eigene Zeile und bestätigst jeweils mit "Enter", als Zeilenumbruch. Erst wenn Du alle Einträge in ihrer Reihenfolge eingetragen hast, gehst Du rechts auf "Hinzufügen". Nun hast Du deine eigene Liste definiert, nach der Du sortieren kannst.

sortList_customListValues

Auf der linken Seite findest Du auch weitere benutzerdefinierte Listen. Da sind weitere Anwendungsfälle ersichtlich, die Du früher allenfalls nur mit Hilfsspalten gelöst hast: Die Sortierung nach Wochentagen (Montag bis Sonntag) oder nach Monaten (Januar bis Dezember). Diese lassen sich ja auch nicht alphabetisch sinnvoll sortieren.

Sobald Du die Liste ausgewählt hast, greift diese Reihenfolge. Du kannst in den Sortierungseinstellungen weitere Ebenen einfügen (z.B. nach der Priorität dann die Freizeitaktivitäten alphabetisch sortieren). Füge dazu weitere Ebenen nach Deinen Bedürfnissen ein. So erhalten wir eine benutzerdefinierte, sortiere Tabelle:

Abhängige (dynamische) Drop-Down-Listen

In Formularen sind abhängige Drop-Down-Listen oftmals unabdingbar. Was bedeutet das? Wählt man im ersten Feld eine Oberkategorie "Obst" oder "Fleischwaren", dann sollen in einer zweiten Auswahlliste nur die entsprechenden Einträge zur Option stehen. Wir haben diese abhängigen Drop-Down-Listen bereits im Beitrag "Dropdown einer Dropdown-Liste erstellen - abhängige Dropdown" illustriert. Das funktioniert dann einwandfrei, wenn sich die Inhalte der Unterkategorien nicht ändern. Ansonsten ist es notwendig, die Bereiche (Namen) von "Obst" oder "Fleischwaren" den neuen Umständen entsprechend anzupassen (Bereich erweitern oder reduzieren). Es suggeriert also eine dynamische Drop-Down-Liste. Wie man einen solchen Namen (mit der Formel BEREICH.VERSCHIEBEN) anlegt, kannst Du in diesem Beitrag nachschlagen: Bereich eines Namens automatisch erweitern

Wir würden also alle Namen für die Drop-Down-Listen entsprechend anlegen, wie im Screenshot unten dargestellt (mit der Formel "BEREICH.VERSCHIEBEN", referenzierend auf das separate Blatt "Parameter"):

Namenslisten-Dynamisch

Wählt man im Anschluss im Formular die erste Option zu "Essen", sollte in der abhängigen Drop-Down-Liste dann die jeweilige Unterkategorie abrufbar sein. Dies ist jedoch nicht der Fall, die Auswahl-Liste lässt sich mit Klick auf den Erweiterungspfeil gar nicht erst aufrufen und anzeigen. Wie können wir also sowohl abhängige wie auch dynamische Drop-Down-Listen erstellen? Das Vorgehen zeige ich Dir nachfolgend Schritt für Schritt auf, lösche jedoch bitte im Namensmanager (Menüpunkt "Formeln" → "Namensmanager") allfällige bereits definierten Namen für Deine Drop-Down-Listen.

Abhängige, dynamische Drop-Down-Listen (Lösungsansatz)

Wir müssen die ursprünglichen Daten auf dem separaten Blatt "Parameter" also anders definieren, um jederzeit unsere Auswahl-Kriterien ergänzen und unmittelbar nachher im Formular abrufen können. Gehe dazu im Menüband auf das Register "Einfügen" und selektiere die Option "Tabelle". Du erstellst nun also eine Tabelle und wählst als erstes den Bereich "A1:A3" aus, um die Oberkategorie abzubilden. Falls Du die Zeile 1 inkludierst, wähle zudem "Tabelle hat Überschriften".

TabelleEinfuegenUndDefinieren

Wiederhole den Vorgang auch für die Unterkategorien "Fleischwaren" und "Obst".

Wenn Du nun in der Spalte A Fleischwaren und Obst markierst, siehst Du links oben im Namensfeld (normalerweise steht da die Zelle "A2" und so weiter) "Tabelle1" stehen. Der Name "Tabelle1" ist aktuell also stellvertretend für diesen Bereich. Klicke in dieses Namensfeld und überschreibe einfach "Tabelle1" mit "Essen" - bestätige mit der Enter-Taste. Du wirst in dem Namensfeld kurz etwas aufblinken sehen, danach steht allerdings wieder "Tabelle1" drin. Mache das nun auch für B2:B3 (=Tabelle2) und setze da den Namen "Fleischwaren" sowie für C2:C4 (=Tabelle3) und definiere da "Obst". Rufe nun erneut Deinen Namensmanager auf (Menüpunkt "Formeln" → "Namensmanager"). Dort siehst Du die Resultate entsprechend - beachte auch die Spalte "Bezieht sich auf", die auf die jeweilige Tabelle referenziert:

NamensmanagerTabellenReferenzen

Navigiere nun auf Dein effektives Formular. Wähle die Hauptkategorie (Essen) und versuche nun, Deine Unterkategorie (Drop-Down-Einstellung: =INDIREKT(B5) -- wobei B5 dem Feld mit Fleischwaren/Obst entspricht) kann nun korrekt aufgerufen werden:

FormularDynamischeDropDownUnterkategorie

Zuletzt kannst Du prüfen, ob Deine Listen auf dem Blatt "Parameter" tatsächlich dynamisch sind. Gib einfach einen neuen Begriff unterhalb ein, beispielsweise "Schweinefleisch" als zusätzliche Fleischware. Die Tabelle erweitert sich automatisch (Du siehst dies auch farblich) - und auf der Drop-Down-Liste im Formular kannst Du die neue Option ebenfalls gleich selektieren.

Dropdown- einer Dropdown-Liste erstellen (abhängige Dropdown)

Über normale Dropdown-Listen haben wir bereits in diesem Beitrag gesprochen. Nun gehen wir einen Schritt weiter: Anhand des ersten selektierten Kriteriums soll eine zweite, abhängige Dropdown-Liste verfügbar sein. Konkret: Wählen wir "Essen" aus, sollen beispielsweise "Ravioli" und "Pizza" zur Auswahl stehen - bei "Trinken" soll "Coca Cola" und "Rotwein" aufgeführt werden.

Als erstes erstellen wir eine ganz normale Dropdown-Liste (wie im oben verlinkten Beitrag erklärt) mit der Auswahl "Essen" und "Trinken". Benennen wir diesen Bereich "Typ", um später in der "Datenüberprüfung" diesen Namen als Liste aufrufen zu können:

D1Typ

Als nächstes definieren wir die nächsten Namen: "Essen" und "Trinken". Dies sind unsere jeweiligen Auswahlkriterien:

D2EssenTrinken

Beachte, dass ich lediglich den Bereich "C3:C6" auswähle und der Name ("Essen" oder "Trinken") exakt mit dem jeweiligen Auswahlkriterium der Liste "Typ" übereinstimmen muss! Nun ist sämtliche Vorarbeit geleistet - gehen wir weiter zu den effektiven Dropdown-Listen: Sobald Du eine beliebigen Zelle selektiert hast, gehe auf "Daten" → "Datenüberprüfung" und selektiere in der Auswahl "Liste" und gebe unterhalb "=Typ" ein:

D1Liste

Jetzt wirst Du in Deiner Zeile entweder "Essen" oder "Trinken" auswählen können. Möchtest Du nun nebenan die abhängige Dropdown-Liste erstellen, selektierst Du diese eine Zelle und gehst wiederum auf "Daten" → "Datenüberprüfung". Auch hier selektierst Du "Liste", gibst aber bei "Quelle:" eine Formel ein, welche sich auf Deine erste Dropdown-Liste bezieht. Die Formel heisst "=INDIREKT":

D2Liste

Beachte zudem, dass wir keinen Bezug absolut ($) gesetzt haben - folglich kannst Du die Zelle im Anschluss einfach kopieren und wirst immer den relativen Bezug zu der Ausgangs-Dropdown bewahren.

Weitere Anwendungsmöglichkeiten dieser abhängigen Dropdown-Listen sind beispielsweise Anmeldungen zu einem gewissen Datum, wo mehrere Zeiten zur Verfügung stehen (von 10:00 - 11:00 oder 14:00 - 15:00) sowie verschiedene Produkte in mehreren Ausführungen (Schuh X; Grösse 44 oder 45).