Kann ich bei Excel die Sortierung automatisch aktualisieren lassen?

...komplette Frage anzeigen

2 Antworten

Dazu braucht man keine Programmierkenntnisse. Gesetzt dem Fall, du hast drei Spalten:
A         |  B           |  C
Name  |  Punkte  |  Rang
Dies Zeilen können unsortiert stehen. Eine sortierte Ausgabe erzeugen wir in zwei weiteren Spalten D und E, "Name (nach Rang)" und "erzielte Punkte".
Wichtig dabei, dass der Rang nur als Zahl eingegeben wird.
(Falls man den Punkt angezeigt haben will, einfach als benutzerdefiniertes Format "#." eingeben.)

In Zelle D2 schreibe die Formel:
=INDEX(A:A;VERGLEICH(ZEILE()-1;C:C;0);1)
und kopiere die Formel nach unten.

Der Befehl Index hat zwei Varianten. In dieser hier braucht er folgende Informationen:
INDEX( <Zellbereich> ; <Zeilenindex> ; <Spaltenindex> )
Die notwendige Zeile wird dabei mit dem Befehl VERGLEICH ermittelt. Dieser funktioniert mit folgenden Informationen:
VERGLEICH( <Index> ; <Zellbereich> ; <Vergleichstyp> )

Der gegebene Befehl schaut also zuerst mit dem Befehl VERGLEICH, wo der 1., 2. usw. Platz ist, und nimmt dann den entsprechenden Wert aus der Namensspalte.

Wenn du jetzt noch die dazu gehörenden Punkte ausgeben willst, dann schreib in Zelle E2 die Formel:
=INDEX(B:B;VERGLEICH(ZEILE()-1;C:C;0);1)
und kopiere die Formel nach unten.

Bei den Wettkämpfen ein freundliches Miteinander ohne Zwischenfälle!

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von allocigar78
26.08.2017, 11:46

Hi,

vielen Dank für die super Antwort. Da sind wir schon auf dem richtigen Weg. Habe gerade angefangen das ganze auszuprobieren. Jetzt taucht allerdings schon gleich zu Beginn das erste Problem auf: was mache ich bei Punktgleichstand zweier Personen - es kann ohne weiteres ja sein dass 2 Leute z. B. beide 10 Punkte und somit beide Rang 2 haben. Dann zeigt Excel bei der genannten INDEX Formel aber bei einem der beiden #NV

0

Einen einfachen Weg gibts hier leider nicht. Jedenfalls nicht das ich wüsste. 

Aber es geht. Dazu muss man ein Makro in VBA programmieren, welches die Sortieren-Funktion auf den gewünschten Zellbereich anwendet wann immer sich Zelleninhalte (darin) ändern. Ich werde es aber nicht programmieren, da ich zum einen unter Linux bin und kein Microsoft Office habe und zum anderen weil ich Visual Basic verabscheue.

Aber vielleicht findet sich jemand. Die VBA-Funktion die man dafür braucht ist Range.Sort(), z.B. Columns("A:D").Sort mit entsprechenden Parametern nach welchen Spalten sortiert werden soll. Das Deklarieren/Überschreiben von Worksheet_Change() sollte z.B. die automatische Ausführung ermöglichen. 

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?