Wie man eine Tabelle horizontal Sortiert

Vor einer Woche habe ich diesem Artikel falscherweise behauptet habe dass es nicht möglich sei horizontal zu Sortieren in Excel! Dass stimmt natürlich nicht, denn die Funktion gibt es, und zwar schon mindestens seit Excel 2003.

Mea culpa!

Ich sprach eigentlich von einem horizontalen Filter. Den gibt es tatsächlich nicht! Den alten Artikel habe ich bereits dahingehend korrigiert und umbenannt. Damit Ihr die richtigen Informationen zum Horizontalen Sortieren habt habe ich nun diesen Artikel geschrieben.

Horizontal Sortieren in Excel

Ich habe die selbe Datenbasis genommen wie im bereits erwähnten Artikel.

image

Wir klicken auf Start Menü>Sortieren und Filtern>Benutzerdefiniertes Sortieren… welches das “Sortieren” Fenster öffnet. Hier müssen wir nun auf Optionen… klicken

image

und im neuen Sortieroptionen Fenster “Spalte sortieren” auswählen.

DA IST ES!!! Spalten sortieren!

image

Nun hat man die Möglichkeit nach Zeilen, also horizontal, zu Sortieren! Nach dem wir auf OK klicken kommen wir zurück zum Sortieren Fenster. Im Dropdown Menü können wir nun nach Zeilen sortieren.

image

Excel erkennt wie bei dem normalen vertikalen Sortieren automatisch die erste Spalte als die Überschriften. Diese werden jedoch beim Sortieren NICHT angezeigt im Fenster, selbst wenn “Daten haben Überschriften” zuvor aktiviert wurde.

Fortgeschrittene Sortieroptionen

Wir haben, wie beim normalen Sortieren, auch hier zusätzliche Optionen welche wir benutzen können. Es gibt die Möglichkeit nach Werte (Standardeinstellung), Zellenfarbe, Schriftfarbe, oder Zellensymbolen zu sortieren.

image

Auch die Reihenfolge kann angepasst werden mit der “Benutzerdefinierten Liste…” Auswahl.

image

Comments

  • Und wie kann man jetzt den gesamten Bereich von C3:N10 Zeilenweise aufsteigend sortieren. Also so, dass für den gesamten Bereich in jeder Zeile vom kleinsten zum größten Wert angezeigt wird?

    Sebastian KochApril 14, 2015
  • Du kannst die Werte sortieren. Schau mal im “Sortieren Fenster” ganz rechts… dort hat es eine Option. Natürlich ist das nicht so bequem wie ein normaler Filter, aber trotzdem, machbar ist es!

    Lukas RohrApril 15, 2015
  • Wie es Zeile für Zeile funktioniert habe ich verstanden. Ich glaube aber, dass mein Problem nur mit VBA gelöst werden kann. Ich gebe regelmäßig Zahlen in beliebiger Reihenfolge in die Zellen einer Zeile ein. Am nächsten Tag in die Zeile darunter und so weiter. Die möchte ich nach Ende der Eingabe oder besser noch beim Aufruf der Tabelle am nächsten Tag, entsprechend sortiert haben, ohne dass ich jedesmal das Sortiermenü aufrufen muss, da die Tabelle von mehreren Kollegen mit Daten gefüllt wird, die mit Excel nichts am Hut haben.

    Sebastian KochApril 15, 2015
  • Hi Sebastian, ok, so wie Du das Problem jetzt beschreibst wäre es wohl über VBA wirklich am besten lösbar. Wenn das Eingabeblatt jedoch nicht zwingend auch das Blatt ist auf welche Deine Arbeitskollegen gucken, gäbe es sonst noch die Möglichkeit per Matrix Formeln automatisch zu sortieren. Wenn Du hier mal unter “top ten” suchst findest Du ein Beitrag in dem ich eine solche Formel erkläre (Deine müsste dann natürlich waagerecht implementiert werden)

    Lukas RohrApril 15, 2015
  • Ich habe es hinbekommen. Ich habe den Code von Stefan Macke

    http://blog.stefan-macke.com/2006/01/23/zeilen_in_excel_horizontal_sortieren/

    angepasst und alles ist gut. Vor dem Speichern der Tabelle wird sortiert.
    Wenn es interessiert, hier mein angepasster Code:

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    ‘ sortiert die Zellen des aktuellen Arbeitsblatts vor dem speichern der Tabelle

    Dim i, lastRow As Integer
    Const firstColumn As Integer = 4 ‘ erste Spalte für Sortierung ist D
    Const lastColumn As Integer = 100

    ‘ auffinden der letzten Zeile
    lastRow = Cells(1, firstColumn).End(xlDown).Row

    ‘ sortiert die Zellen jeder Zeile aufsteigend
    For i = 1 To lastRow
    Range(Cells(i, firstColumn), Cells(i, lastColumn)).Select
    Selection.Sort Key1:=Range(“D” & i), _
    Order1:=xlAscending, Header:=xlNo, _
    OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlLeftToRight, _
    DataOption1:=xlSortTextAsNumbers

    Next i
    End Sub

    Sollte dieser Kommentar hier nicht her passen oder unerwünscht sein, bitte einfach löschen.
    Vielen Dank für den Denkanstoß Lukas Rohr. :-)

    Sebastian KochApril 15, 2015
  • Kein Problem! Der Kommentar passt durchaus zum Thema :- )

    Lukas RohrApril 15, 2015
  • Guten Tag
    Ich habe ein ähnliches Problem. In der Spate A Zeile 1 – 280 sind die Ordnernamen in der Spalten B – GG sind die User die auf die Ordner zugreifen dürfen. Wie kann ich einen Namen in der Liste auswähle es so Sortieren kann das ich alle zum Namen dazugehörende Ordner sehen kann.
    Gruss
    Hanspeter

    HanspeterDecember 10, 2015

Leave a Reply