Sortieren mit untergeordneten Spalten
#1
Hallo ihr lieben, 

ich bin ganz frisch hier und mache doch schon sehr lange einiges mit Excel. Bisher hat mir das Internet auch genügend Antworten ausgespuckt, aber diesesmal bin ich, trotz intensiver Suche, auf keine Lösung gekommen.
Es könnte auch daran liegen, dass ich nicht so genau wusste mit welchen Begriffen ich suchen sollte. Daher könnte auch die Überschrift unpassend sein, ich weiß es noch nicht. 

Hier mein Anliegen:
Ich habe eine Exceltabelle (Bild im Anhang) die ich z.B. nach der 1. Spalte sortieren möchte. Dabei sollen die Ortsteile jedoch weiterhin unter der Gemeinde gegliedert sein. Die untergeordneten Zeilen in Spalte zwei sollten also "fest verbunden sein" mit der übergeordneten Zeile von Spalte 1. Auch, wenn ich z.B. nach dem Datum sortiere. 
Bisher habe ich versucht die Zeilen zu gruppieren dabei sind folgende Probleme entstanden:
- beim Sortieren nach Datum passiert nichts mehr
- beim Sortieren nach Ortsteil passiert nichts mehr
- beim Sortieren nach Gemeinde bleibt Zugehörigkeit nicht erhalten (siehe Bild "SortierenGruppierenFalsch")

Ist das verständlich und könnt ihr mir da weiter helfen? 

Vielen Dank euch und Grüße, 


K.


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#2
Hallo,

das du nichts findest, liegt nicht am Suchbegriff, sondern an der Arbeitsweise. So baut man eine Liste nicht auf, deshalb kann Excel so etwas auch nicht durchführen. Für Listen gilt: 

- eine Zeile = ein Datensatz
- keine Zwischenüberschriften
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Schade, ich hatte es fast befürchtet... 
Der Gedanke ist ja, dass jeder Ortsteil seiner Gemeinde zugeordnet bleibt. Dann müsste ich das immer so schreiben:
Schaafheim Schaafheim
Schaafheim Radheim
Schaafheim Mosbach
Schaafheim Schlierbach

??? 

Oder denke ich jetzt zu kompliziert?
Antworten Top
#4
Hallo,

die Liste nach den Excelregeln aufbauen, dann kannst du sortieren bis der Arzt kommt.

ABCDEFGHI
1GemeindeOrtsteilTerminKommentar
2SchaafheimSchaafheim01.11.2025
3SchaafheimSchlierbach25.10.2025
4SchaafheimRadheim15.02.2026
5SchaafheimMosbach24.02.2026
6BabenhausenBabenhausen
7BabenhausenHarpertshausen
8BabenhausenHarreshausen
9BabenhausenHergershausen
10BabenhausenLangstadt
11BabenhausenSickenhofen
12MünsterMünster
13MünsterAltheim
14MünsterBreitefeld
15
16
17
18
19
20
21
22
23
24
25
26
27

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#5
Hallo,

da du Excel365 hast, müsste auch folgende Formel funktionieren, wenn man annimmt, dass dein bisheriger Datenbereich in A1:D17 liegt:
In eine Zelle mit genügend freien Zellbereich diese Formel eingeben/kopieren:
PHP-Code:
=LET(
    mo; $A$1:$D$17;
    gem; SCAN(""; INDEX(mo; 0; 1); LAMBDA(akk; s; WENN(s = ""; akk; s)));
    n; HSTAPELN(gem; WEGLASSEN(mo; ; 1));
    kopf; INDEX(n; 1; 0);
    s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1)));
    gm; INDEX(s; 0; 1);
    gms; WEGLASSEN(VSTAPELN(""; gm); -1);
    HSTAPELN(WENN(gm = gms; ""; gm); WEGLASSEN(s; ; 1))
)

Diese Formel ergänzt das, was Klaus-Dieter als fehlend angemahnt hat, führt dann die Sortierung aus und entfernt anschließend wieder die hinzugefügten Daten.
Gruß Anton.

Windows 11 64bit
Microsoft365 Insider 64bit
Antworten Top
#6
Ergänzend zu Klaus-Dieter: Anschließend Spalte A markieren und eine Bedingte Formatierung einfügen.

Formel: =UND(ZEILE()>2;INDEX(A:A;ZEILE())=INDEX(A:A;ZEILE()-1))
Benutzerdefiniertes Zahlenformat: ;;;

Dann hast du die gewünschte Optik.

Die Lösung von EA1950 erzeugt eine neue Tabelle. Du hättest dann eine für die Pflege und eine fürs betrachten!
Antworten Top
#7
Oh sehr gut vielen Dank euch. 
Ich hätte also eine Tabelle zum Bearbeiten (Auf Blatt 2) und die zum Anzeigen und beliebig sortieren (Auf Blatt 1).
Oder wie kann ich mir das vorstellen? 
Wir würde ich bei der Formel denn den Bezug zu "Blatt 2" herstellen?

Und bei
s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1)));
wird da immer nach der ersten Spalte sortiert?
Antworten Top
#8
Hallo,

Zitat:Ich hätte also eine Tabelle zum Bearbeiten (Auf Blatt 2) und die zum Anzeigen und beliebig sortieren (Auf Blatt 1).
Wir würde ich bei der Formel denn den Bezug zu "Blatt 2" herstellen?

s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1)));
wird da immer nach der ersten Spalte sortiert?

eine Antwort kann immer nur so gut sein wie die Fragestellung.

In der beiliegenden Datei habe ich dir 2 Versionen der Sortierformel eingefügt, wobei der Unterschied lediglich in den Zellbereichen liegt, auf die zugegriffen werden soll.
1) die Formel, die sich in Zelle Tabelle1!H8 befindet, sieht demnach so aus:
PHP-Code:
=LET(
    Bereich; $A$1:$D$17;
    SortRichtung; $I$5;
    SortSpalte; $I$6;
    gem; SCAN(""; INDEX(Bereich; 0; 1); LAMBDA(akk; s; WENN(s = ""; akk; s)));
    n; HSTAPELN(gem; WEGLASSEN(Bereich; ; 1));
    kopf; INDEX(n; 1; 0);
    s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1); SortSpalte; SortRichtung));
    gm; INDEX(s; 0; 1);
    gms; WEGLASSEN(VSTAPELN(""; gm); -1);
    HSTAPELN(WENN(gm = gms; ""; gm); WEGLASSEN(s; ; 1))
)
Dabei habe ich den Sortierbereich auf A1:D17 im selben Arbeitsblatt festgelegt
ferner die Nummer der Sortierspalte innerhalb dieses Bereiches in Zelle I6 (zB. 1 für 1.Spalte, 2 für 2.Spalte, ..., 4 für 4.Spalte)
weiters die Sortierrichtung dieser Spalte in Zelle I5 (zB: 1 für aufsteigend, -1 für absteigend, alle anderen Werte für fehlerhaft)

2) die Formel, die sich in Zelle Tabelle2!C6 befindet, sieht demnach so aus:
PHP-Code:
=LET(
    Bereich; Tabelle1!$A$1:$D$17;
    SortRichtung; $D$3;
    SortSpalte; $D$4;
    gem; SCAN(""; INDEX(Bereich; 0; 1); LAMBDA(akk; s; WENN(s = ""; akk; s)));
    n; HSTAPELN(gem; WEGLASSEN(Bereich; ; 1));
    kopf; INDEX(n; 1; 0);
    s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1); SortSpalte; SortRichtung));
    gm; INDEX(s; 0; 1);
    gms; WEGLASSEN(VSTAPELN(""; gm); -1);
    HSTAPELN(WENN(gm = gms; ""; gm); WEGLASSEN(s; ; 1))
)
Dabei habe ich den Sortierbereich auf Tabelle1!A1:D17 im anderen Arbeitsblatt festgelegt
ferner die Nummer der Sortierspalte innerhalb dieses Bereiches in Zelle D4 (zB. 1 für 1.Spalte, 2 für 2.Spalte, ..., 4 für 4.Spalte)
weiters die Sortierrichtung dieser Spalte in Zelle D3 (zB: 1 für aufsteigend, -1 für absteigend, alle anderen Werte für fehlerhaft)

3) Vorgenannte Formel habe ich weiters im Namensmanager unter dem Namen "SpezSortierung" abgespeichert, sodass sie auch als benutzerdefinierte Funktion dieses Namens verwendet werden kann:
PHP-Code:
SpezSortierung = LAMBDA(Bereich; SortSpalte; SortRichtung;
    LET(
        gem; SCAN(""; INDEX(Bereich; 0; 1); LAMBDA(akk; s; WENN(s = ""; akk; s)));
        n; HSTAPELN(gem; WEGLASSEN(Bereich; ; 1));
        kopf; INDEX(n; 1; 0);
        s; VSTAPELN(kopf; SORTIEREN(WEGLASSEN(n; 1); SortSpalte; SortRichtung));
        gm; INDEX(s; 0; 1);
        gms; WEGLASSEN(VSTAPELN(""; gm); -1);
        HSTAPELN(WENN(gm = gms; ""; gm); WEGLASSEN(s; ; 1))
    )
);;
Als Beispiel habe ich deshalb in Zelle Tabelle2!I6 folgenden Funktionsaufruf
=SpezSortierung(Tabelle1!$A$1:$D$17; $D$4; $D$3)
eingefügt, die das gleiche Ergebnis liefert, wie die unter Punkt 2) genannte Formel.


Angehängte Dateien
.xlsx   Karlos_K_Spezialsortierung.xlsx (Größe: 17,37 KB / Downloads: 7)
Gruß Anton.

Windows 11 64bit
Microsoft365 Insider 64bit
Antworten Top
#9
Hi

du brauchst wie die anderen Schon geschrieben haben, die Gemeinde in allen Zeilen.
mach das am besten so:
1. markiere die Gemeindespalte (A)
2. schränke die Markierung auf die Leerzellen ein (Start - Bearbeiten - Suchen und Auswählen - Inhalte - Leere Zellen)
3. gib jetzt für die aktive Zelle (A2)  die Formel ein: =Wert aus Zelle oben drüber bzw =A1 und schließe die Eingabe mit STRG+ENTER ab, das übernimmt die Formel in alle markierten Zellen.
4. markiere jetzt nochmal die ganze Gemeindespalte, kopiere sie und füge sie an gleicher Stelle als Wert ein. 
jetzt kannst du problemlos nach Gemeinden sortieren und Filtern

wenn du für die oberste Zeile eine optische Unterscheidung haben willst, machst du das am besten zwischen Schritt 3 und Schritt 4
hier kannst du noch die Auswahl wie im Schritt 2 beschrieben einschränken und Konstante (deine alte Gemeinde-Überschrift) und oder Formel (die neuen Werte) treffen und beide Arten unterschiedlich Formatieren (Fett, Schriftgröße, Hintergrund)


und noch ein Tipp: wenn du die Gruppierung gemacht hast, dann erweitere nochmal das Menü "Gliederung" (klick auf die untere rechte Ecke) und nimm den Haken "Hauptzeilen unter Detaildaten" raus. 
Dann sitzt auch der Button zum Aufklappen der Ortsteile in der richtigen Zeile.

Gruß Daniel
Antworten Top
#10
Moin,

hier mal meine Lösung dazu. Vielleicht passt es ja so.

Gruß
Roger


Angehängte Dateien Thumbnail(s)
   

.xlsx   Gemeinde.xlsx (Größe: 15,52 KB / Downloads: 7)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste