Aufgabe
In einer Liste mit vielen Spalten, soll geprüft werden, ob diese Liste nach einer Spalte sortiert wurde. Wenn ja, nach welcher.
Lösung
Listenbereich von A1:J50
Kommen im Bereich keine Leerzellen vor, dann:
{=VERGLEICH(ZEILEN(A2:A50);MMULT(MTRANS((A2:J50>=A1:J49)*1);WENN(ZEILE(1:49);1));0)}
Liefert die Spaltennummer der sortierten Spalte. Liefert #NV, wenn keine Spalte sortiert ist.
Können auch Leerzellen vorkommen, dann:
{=VERGLEICH(ZEILEN(A2:A50);MMULT(MTRANS((WENN(A2:J50<>"";A2:J50;ZEICHEN(158))>=WENN(A1:J49<>"";A1:J49;ZEICHEN(158)))*1);WENN(ZEILE(1:49);1));0)}
(Zeichen 158 des Ansi-Codes kommt in der Sortierung an letzter Stelle. Leerzellen werden damit ersetzt.)
Hinweis:
Stehen in Zeile 1 Überschriften, die ignoriert werden sollen, muß überall der Anfangsbezug um 1 erhöht werden: A1 auf A2; A2 auf A3 und ZEILE(1:49) auf ZEILE(2:50).
Soll nach einer absteigend sortierten Spalte gesucht werden, muß in der ersten Formel >= durch <= ersetzt werden. Diese funktioniert dann auch mit Leerzellen.