Sie können die sort()
Funktion dafür verwenden, aber Sie müssen Ihre Daten an einem Ort haben und eine automatisch sortierte Kopie dieser Daten an einem anderen Ort.
Angenommen, ich habe Sheet1 mit meinen Daten:
| A | B | C
=====================
1 | This | this | 2
2 | Is | is | 1
3 | Test | test | 3
Dann würde ich in Sheet2, Zelle A1, diese Funktion einfügen:
= sortieren (Sheet1! A: C, 3, TRUE)
Dies würde meine Daten anzeigen, aber aufsteigend nach Spalte C (dritte Spalte) sortiert.
| A | B | C
=====================
1 | Is | is | 1
2 | This | this | 2
3 | Test | test | 3
;
z. B.= sort(Sheet1!A:C; 3; TRUE)
Es ist auch möglich, Google Apps Scripts zu verwenden, um eine automatische direkte Sortierung der Daten zu erreichen.
Dies ist möglicherweise schwieriger zu erreichen und fehleranfälliger (ich würde mich immer noch für William Jacksons Lösung entscheiden, +1 BTW), aber ich fand es interessant genug, dies zu zeigen.
Ich habe ein Blatt, das so aussieht:
Mit den folgenden Schritten habe ich ein neues Skript hinzugefügt:
Fügen Sie in das leere Codefenster den folgenden Code ein, der automatisch ausgeführt wird, wenn eine Zelle bearbeitet wird:
Kehren Sie zum Blatt zurück und spielen Sie mit den Werten, damit die Tabelle jedes Mal automatisch sortiert wird
Hinweis:
Im obigen Skript
4
stellt den Index der Spalte D dar (dieValue
Spalte - die Spalte, nach der sortiert werden soll)"B3:E9"
repräsentiert den Tabellenbereich (ohne die Kopfzeile)Ihre Tabelle wird höchstwahrscheinlich von meiner abweichen, daher sollten diese Werte entsprechend angepasst werden.
quelle
null
für denevent
Parameter an, der ansonsten ordnungsgemäß von der Google Spreadsheet-Infrastruktur ausgefüllt wird, wenn ein echtes Ereignis ausgelöst wird.range.sort
Zeile wie folgt aus :range.sort( { column : columnToSortBy, ascending: false } );
. WeitereHier ist ein generisches Skript, das basierend auf der ersten Spalte automatisch sortiert und eine Kopfzeile annimmt.
So erstellen Sie ein Skript:
Fügen Sie im leeren Codefenster den folgenden Code ein, der automatisch ausgeführt wird, wenn eine Zelle bearbeitet wird:
quelle
var sheet = SpreadsheetApp.getActiveSpreadsheet();
statt dessen, was hier ist.Eine andere Option ohne Skript ist:
Der Bereich ist eingeschränkt (A1: C3), da bei aufsteigender Reihenfolge zuerst leere Einträge angezeigt werden.
quelle
SELECT * WHERE C <> '' ORDER BY C
leere Einträge ignorieren und dann einen Bereich verwenden, der groß genug ist, um alle aktuellen und zukünftigen Zeilen einzuschließen.Verwenden Sie die Skriptlösung, aber sortieren Sie nach mehr als einer Spalte
Ich wollte nach einer Dropdown-Menü-Spalte und dann nach Datum sortieren.
Ändern Sie dazu die Zeile "range.sort" eines der Codeausschnitte von Cristian oder geekspotz wie folgt:
Der Unterschied besteht darin, die geraden Klammern um die gesamte Anweisung (Array) zu setzen und die Sortierungen durch Kommas zu trennen.
Die Änderung des Sortiercodes stammt aus Serge's Antwort zum Stapelüberlauf : Automatische Sortierung auf Blättern
quelle
Google Sheets verfügt aus diesem Grund über Filter und erfordert nicht, dass Sie ein neues Blatt in Ihrem Dokument erstellen.
Dokumentation: https://support.google.com/docs/answer/3540681
quelle