Seite 1 von 1

Tabellen-Bereich per formel sortieren

Verfasst: Fr 8. Nov 2024, 07:52
von Rolli
ich möchte gerne mit calc einen Tabellen-Bereich B6 - G40 per formel sortieren

=SORTIEREN(B6:G40; 1; WAHR)

Allerdings gibt es in dem Bereich auch leere zeilen bzw zellen. Die sollten herausgefiltert werden , oder nicht am anfang datrgestellt werden. Gibt es dazu eine Möglichkeit?

Vielen Dank für die Hilfe Dominik

Re: Tabellen-Bereich per formel sortieren

Verfasst: Fr 8. Nov 2024, 08:09
von Mondblatt24
Hallo,
Rolli hat geschrieben:
Fr 8. Nov 2024, 07:52
Allerdings gibt es ...
Dann solltest du eine Beispieldatei anhängen, damit nicht jeder,
der helfen möchte, anfangen muss, das irgendwie nachzubauen.


Gruß
Peter

Re: Tabellen-Bereich per formel sortieren

Verfasst: Fr 8. Nov 2024, 09:28
von karolus
Die sollten herausgefiltert werden
Dann musst du eben die Funktion »FILTERN« einpacken:

Code: Alles auswählen

=SORTIEREN(FILTERN(B6:G40;B6:B40<>""); 1; -1)

Re: Tabellen-Bereich per formel sortieren

Verfasst: Fr 8. Nov 2024, 12:45
von Helmut_S
Hallo Rolli, grundsätzlich gebe ich @Mondblatt24 recht, dass eine Beispieldatei unsere Hilfestellung erleichtern und effizienter machen würde. Um dein Problem nachzustellen, habe ich einen Bereich mit Zufallszahlen gefüllt und darauf die in LO 24.8 neuen Funktionen sortieren() und sortierennach() versucht.
Die leeren Zellen werden mit dieser Funktion ans untere Ende verschoben, falls dir das genügt, erübrigt sich der von @Karolus vorgeschlagene Einbau der Filter-Funktion.
Die Funktion sortierennach() hat bei mir nicht funktioniert wie in der Hilfe beschrieben, aber mit der Funktion sortieren() kommt man auch ans Ziel. Man sortiert damit nur 1 Spalte und (da Matrixformel) kopiert die Matrixformel mit gedrückter Strg-Taste nach rechts.

Gruß Helmut

Re: Tabellen-Bereich per formel sortieren

Verfasst: Sa 9. Nov 2024, 19:41
von Rolli
Vielen Dank für Eure Hilfe und die vielen Anregungen! und sorry, dass ich keine Datei beigefügt habe und ihr mir trotzdem geholfen habt.
Ich habe inzwischen einiges mit der Sortierfunktion von karolus und Helmut_S ausprobiert und war damit auch ganz zufrieden. Allerdings konnte ich folgendes Problem nicht lösen: Ich wende die Sortierfunktion auf einen Bereich an, den ich regelmäßig ändere. In diesem Bereich stehen Namenslisten mit Vor- und Nachnamen und Adresse, die ich halbjährlich aktualisiere und ändere.

Wenn ich hier Änderungen vornehme, funktioniert die Formel allerdings nicht mehr richtig, da die neuen Einträge nicht automatisch sortiert werden und somit in der Sortierliste nicht erscheinen. Für dieses Problem habe ich keine Lösung gefunden und bin deshalb auf die Pivot-Tabelle-Funktion umgestiegen. Damit funktioniert es einigermaßen gut.

Dazu hätte ich jedoch noch eine Frage: Gibt es für die Pivot-Tabelle eine automatische Aktualisierung beim Öffnen der Datei, oder muss man immer manuell aktualisieren?

Viele Grüße
Dominik

Re: Tabellen-Bereich per formel sortieren

Verfasst: Sa 9. Nov 2024, 20:00
von karolus
Gibt es für die Pivot-Tabelle eine automatische Aktualisierung beim Öffnen der Datei, oder muss man immer manuell aktualisieren?
Jain!
theoretisch könntest du ⇒ Extras ⇒ Anpassen ⇒ Ereignisse ⇒ Laden des Dokuments … ein Makro zuweisen das genau das tut.
praktisch hab ich keine Lust dazu dir dieses Makro zu schreiben, um dir den lächerlichen »Aufwand« zu ersparen »manuell« zu aktualisieren

EDIT: Ok der Aufwand das zu schreiben ist auch lächerlich klein:

Code: Alles auswählen

def refresh_all_pivots(event):
    doc = event.Source
    for sheet in doc.Sheets:
        for pivot in sheet.DataPilotTables:
            pivot.refresh()

Re: Tabellen-Bereich per formel sortieren

Verfasst: Mo 11. Nov 2024, 10:03
von Rolli
Vielen dank für deine hilfe :)