Calc: Daten schnell umsortieren

Hallo, liebe LO-Gemeinde,

ich habe eine Tabellen-Datei mit ca. 25 Tabellenblättern. Dort enthalten
sind die User eines Systems mit ihren Anmeldenamen. Ich habe also
Spalten wie Vorname, Nachname, Code (=Anmeldename).

Ich brauche diese Listen immer wieder mal sortiert nach Nachname,
Vorname. Und dann wieder brauche ich sie sortiert nach dem Code.

Jetzt muss ich immer wieder die entsprechenden Zeilen markieren, Daten,
Daten sortieren wählen, angeben, dass ich Spaltenüberschriften habe und
schließlich angeben, wonach sortiert werden soll.

Weil ich das immer wieder hin- und her brauche, also mal nach Namen, mal
nach Code sortiert, und weil ich viele Tabellen habe, ist das insgesamt
mühsam. Gibt es eine gute Möglichkeit, das abzukürzen?

Ich bin kein Makro-Fan und kenne mich da nicht aus, fürchte aber, dass
Makros evtl. eine Möglichkeit wären.

Das Ganze in eine Datenbank auszulagern ginge sicher auch, wäre mir aber
zu kompliziert.

Also: Wie kann man das am besten abkürzen?

Micha

Micha Kuehn schrieb:

ich habe eine Tabellen-Datei mit ca. 25 Tabellenblättern. Dort enthalten
sind die User eines Systems mit ihren Anmeldenamen. Ich habe also
Spalten wie Vorname, Nachname, Code (=Anmeldename).

Ich brauche diese Listen immer wieder mal sortiert nach Nachname,
Vorname. Und dann wieder brauche ich sie sortiert nach dem Code.

Jetzt muss ich immer wieder die entsprechenden Zeilen markieren, Daten,
Daten sortieren wählen, angeben, dass ich Spaltenüberschriften habe und
schließlich angeben, wonach sortiert werden soll.

Weil ich das immer wieder hin- und her brauche, also mal nach Namen, mal
nach Code sortiert, und weil ich viele Tabellen habe, ist das insgesamt
mühsam. Gibt es eine gute Möglichkeit, das abzukürzen?

Ja :slight_smile:

Es gibt die Befehle "Aufsteigend sortieren" und "Absteigend
sortieren".
Du findest sie über Extras > Anpassen > Symbolleisten/Tastatur.

Oder, zumindest hier in Version 6.1.0.3 auch im Menü "Daten".

Das tolle an der Funktion:

Es genügt, wenn Du den Cursor irgendwo in die Spalte setzt, nach der
sortiert werden soll.

Danach löst die Funktion ein automatische Markieren der gesamten
Tabelle aus und sortiert wie erwünscht.

Und um die schöne Funktion abzurunden:
Eine Überschriftenzeile, wo Du die Standard-Formatvorlage "Heading1"
zugewiesen hast (vermutlich geht auch "Heading2" oder "Heading"), wird
beim Sortieren berücksichtigt.

Gruß, Andreas

Hallo, liebe LO-Gemeinde,

ich habe eine Tabellen-Datei mit ca. 25 Tabellenblättern. Dort enthalten
sind die User eines Systems mit ihren Anmeldenamen. Ich habe also
Spalten wie Vorname, Nachname, Code (=Anmeldename).

Ich brauche diese Listen immer wieder mal sortiert nach Nachname,
Vorname. Und dann wieder brauche ich sie sortiert nach dem Code.

Jetzt muss ich immer wieder die entsprechenden Zeilen markieren, Daten,
Daten sortieren wählen, angeben, dass ich Spaltenüberschriften habe und
schließlich angeben, wonach sortiert werden soll.

Weil ich das immer wieder hin- und her brauche, also mal nach Namen, mal
nach Code sortiert, und weil ich viele Tabellen habe, ist das insgesamt
mühsam. Gibt es eine gute Möglichkeit, das abzukürzen?

Ich bin kein Makro-Fan und kenne mich da nicht aus, fürchte aber, dass
Makros evtl. eine Möglichkeit wären.

Wäre eine Möglichkeit; aber da du schrubst, du brächtest das immer
wieder, mit wehcslender 'Besetzung', wäre eine IMHO bessere Lösung, die
diversen Sortierungen permanent in einem zweiten Tabellenblatt (oder
notfalls auch hinter den Originaldaten) aufzulisten.

Du benötigst je Sortierfolge eine Hilfsspalte und die benötigte(n)
Ausgabespalte(n). Und Voraussetzung ist, dass du im /Voraus/ einen (für
alle Eventualitäten ausreichend großen) Datenbereich für die
Ausgangsdaten festlegst. Am besten markieren (farbig abgesetzt, oder
durch Umrandung o. ä.), damit dir auffällt, wenn du wider Erwarten den
Bereich doch sprengst.

Die Formel der Hilfsspalte zum Sortieren nach Spalte A (bei einem
angenommenen Bereich von A1:A100) lautet:

=WENN(A1=""; ""; SUMMENPRODUKT((A$1:A$30 <

A1))-ANZAHLLEEREZELLEN($A$1:$A$30))

und die Ausgabespalte (angenommen, obige Hilfsspalte läge in Splate K)
lautet:

=WENN(K1="";"";VERSCHIEBUNG($A$1;VERGLEICH(ZEILE()-1;$K$1:$K$100;0)-1;0))

Das Summenprodukt liefert im Prinzip nur die Anzahl der Werte zurück,
die kleiner sind (für Zahlen gebe es dafür die Funktion RANG, für Texte
muss man sich so behelfen).

Die Funktion ANZAHLLEEREZELLEN hab ich hinzugefügt, damit du auch
Leerzeilen mit verarbeiten kannst, und nicht nicht bei jeder kleinsten
Änderung den Datenbereich jedesmal neu anpassen musst.

Der VERGLEICH dient dazu, die Zeile im Ausgangsbereich zu ermitteln, in
der der Wert für die aktuelle Zeile steht, und VERSCHIEBUNG holt diesen
Wert in die aktuelle Zelle.

Und das WENN am Anfang dient dem Ausblenden von Leerzeilen.

Wolfgang

Wolfgang Jäth schrieb:

wäre eine IMHO bessere Lösung, die
diversen Sortierungen permanent in einem zweiten Tabellenblatt (oder
notfalls auch hinter den Originaldaten) aufzulisten.

Danke für die ausführliche Anleitung, aber das ist für meinen Fall
nichts, weil ich eh schon genug Tabellenblätter habe, die auch schon
"breit" genug sind. Die Daten selbst will ich dann nicht doppelt drin haben.

Aber ich muss mir deinen Vorschlag trotzdem mal abspeichern, falls ich
das mal in anderem Zusammenhang verwirklichen will. Auf so eine Lösung
wäre ich jedenfalls nicht alleine gekommen.

Micha

Andreas Borutta schrieb:

Es gibt die Befehle "Aufsteigend sortieren" und "Absteigend> sortieren".> Du findest sie über Extras > Anpassen >

Symbolleisten/Tastatur> > Oder, zumindest hier in Version 6.1.0.3 auch
im Menü "Daten".
Ich habe sie sogar schon in der Menüleiste, aber noch nie benutzt...
Herzlichen Dank für den Hinweis!

Das tolle an der Funktion:

Es genügt, wenn Du den Cursor irgendwo in die Spalte setzt, nach der
sortiert werden soll.

Geht das auch mit zwei Spalten? 1. Kriterium Nachname, 2. Krierium Vorname?

Und um die schöne Funktion abzurunden:
Eine Überschriftenzeile, wo Du die Standard-Formatvorlage "Heading1"
zugewiesen hast (vermutlich geht auch "Heading2" oder "Heading"), wird
beim Sortieren berücksichtigt.

Das geht hier noch nicht. Ich habe aber auch noch Version 5.3.7.2.

Micha

Die Formel der Hilfsspalte zum Sortieren nach Spalte A (bei einem
angenommenen Bereich von A1:A100) lautet:

> =WENN(A1=""; ""; SUMMENPRODUKT((A$1:A$30 <
A1))-ANZAHLLEEREZELLEN($A$1:$A$30))

Sorry, für A1:A100 muss das natürlich entsprechend auch

=WENN(A1="";"";SUMMENPRODUKT((A$1:A$100 <>

A1))-ANZAHLLEEREZELLEN($A$1:$A$100))

lauten; und die andere Formel

> =WENN(K1="";"";VERSCHIEBUNG($A$1;VERGLEICH(ZEILE()-1;$K$1:$K$100;0)-1;0))

ist auch noch etwas ungünstig [tm] formuliert, da das erste "-1"
eigentlich ein dynamischer Faktor ist (d. h. der Korrekturwert hängt von
der Zeile ab, in der die Tabelle beginnt). Das zweite "-1" dagegen ist
tatsächlich eine Konstante. Besser ist daher

=WENN(K1="";"";VERSCHIEBUNG($A$1;VERGLEICH(ZEILE()-ZEILE($A$1);$K$1:$K$100;0)-1;0))

Wolfgang

Micha Kuehn schrieb:

Andreas Borutta schrieb:

Es gibt die Befehle "Aufsteigend sortieren" und "Absteigend> sortieren".> Du findest sie über Extras > Anpassen >

Symbolleisten/Tastatur> > Oder, zumindest hier in Version 6.1.0.3 auch
im Menü "Daten".
Ich habe sie sogar schon in der Menüleiste, aber noch nie benutzt...
Herzlichen Dank für den Hinweis!

Gerne :slight_smile:

Das tolle an der Funktion:

Es genügt, wenn Du den Cursor irgendwo in die Spalte setzt, nach der
sortiert werden soll.

Geht das auch mit zwei Spalten? 1. Kriterium Nachname, 2. Krierium Vorname?

Meines Wissens nicht.
Ich verstehe die Intention der Funktion als "Fix mal sortieren ohne
lange in Dialogfeldern was justieren zu müssen".

Grüße, Andreas

Andreas Borutta schrieb:

Und um die schöne Funktion abzurunden:
Eine Überschriftenzeile, wo Du die Standard-Formatvorlage "Heading1"
zugewiesen hast (vermutlich geht auch "Heading2" oder "Heading"), wird
beim Sortieren berücksichtigt.

Lustigerweise geht das nur in einer neu angelegten Datei, wo die
Standardvorlagen diesen nicht lokalisierten Namen tragen.

In älteren Dokumenten, wo die Standardvorlagen "Überschrift2" oder
"Überschrift" heißen, wird die Zeile mit den Überschriften leider
"wegsortiert".

Aber ich nehme an, dass diese fehlende Lokalisierung in einer der
nächsten Releases nachgebessert wird.

Gruß, Andreas