In diesem Dokument wird beschrieben, wie Sie Filter verwenden, um die in einer Tabelle angezeigten Daten zu sortieren und zu filtern.
Mit Filtern können Sie die Daten sortieren und filtern, die beim Aufrufen einer Tabelle angezeigt werden. Die Datenwerte in der Tabelle werden durch Filter nicht geändert. Sie können Filter verwenden, um Informationen vorübergehend auszublenden oder zu sortieren. Daten, die den angegebenen Filterkriterien entsprechen, werden nicht angezeigt, solange der Filter aktiviert ist. Mit Filteransichten können Sie auch verschiedene benannte Filter speichern und bei Bedarf zwischen ihnen wechseln.
Wenn Sie die in einer Google Sheets API-Anfrage zurückgegebenen Daten filtern möchten, verwenden Sie das
DataFilter Objekt. Weitere Informationen finden Sie unter Metadaten lesen, schreiben und suchen.
Anwendungsfälle für Filter
Im Folgenden finden Sie einige Anwendungsfälle für Filter:
- Daten nach einer bestimmten Spalte sortieren. Beispiel: Nutzerdatensätze nach Nachname sortieren.
- Daten ausblenden, die eine bestimmte Bedingung erfüllen. Beispiel: Alle Datensätze ausblenden, die älter als zwei Jahre sind.
- Daten ausblenden, die einem bestimmten Wert entsprechen. Beispiel: Alle Probleme mit dem Status „geschlossen“ ausblenden.
Einfacher Filter
Das
BasicFilter
Objekt für eine Tabelle ist der Standardfilter, der immer angewendet wird, wenn jemand die Tabelle
aufruft. Eine Tabelle kann nur einen einfachen Filter pro
Blatt haben. Sie können den einfachen Filter deaktivieren, indem Sie ihn löschen. Dadurch werden der Filter und alle zugehörigen Einstellungen aus der Tabelle entfernt. Wenn Sie denselben Filter wieder aktivieren möchten, müssen Sie die Kriterien noch einmal festlegen.
Einfachen Filter verwalten
Verwenden Sie die
spreadsheets.batchUpdate
Methode mit dem entsprechenden Anfragetyp, um den einfachen Filter festzulegen oder zu löschen:
- Verwenden Sie die
SetBasicFilterRequestMethode, um den einfachen Filter festzulegen. - Verwenden Sie die
ClearBasicFilterRequestMethode, um den einfachen Filter zu löschen.
Verwenden Sie die
spreadsheets.get
Methode und legen Sie den fields URL-Parameter auf sheets/basicFilter fest, um den einfachen Filter aufzulisten. Das folgende
spreadsheets.get Codebeispiel zeigt eine Google Sheets-URL mit einer Feld
maske:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Filteransichten
A
FilterView
ist ein benannter Filter, den Sie jederzeit aktivieren und deaktivieren können. Für ein Blatt können mehrere Filteransichten gespeichert werden, aber Sie können jeweils nur eine anwenden. Ein Blatt kann auch sowohl einen einfachen Filter als auch mehrere Filteransichten enthalten. Sie können jedoch nicht beides gleichzeitig auf denselben Datenbereich anwenden.
Anwendungsfälle für Filteransichten
Im Folgenden finden Sie einige Anwendungsfälle für Filteransichten:
- Sie haben mehrere verschiedene Filter, zwischen denen Sie beim Anzeigen der Daten wechseln möchten.
- Sie haben keinen Bearbeitungszugriff auf eine Tabelle, möchten aber trotzdem einen Filter anwenden. In diesem Fall können Sie eine temporäre Filteransicht erstellen, die nur für Sie sichtbar ist.
Sie möchten, dass jede Person, mit der Sie Ihre Tabelle teilen, die Daten anders sieht. Sie können die anzuwendende Filteransicht angeben, indem Sie die
spreadsheetIdundfilterViewIdin der Tabellen-URL angeben. Verwenden Sie dazu diefilterViewId, die in der Antwort zurückgegeben wird, wenn Sie die Filteransicht erstellen.Das folgende Codebeispiel zeigt eine Google Sheets-URL mit einer Filteransicht:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Filteransichten verwalten
Verwenden Sie die
spreadsheets.batchUpdate
Methode mit dem entsprechenden Anfragetyp, um Filteransichten zu erstellen, zu duplizieren, zu ändern oder zu löschen:
- Verwenden Sie die
AddFilterViewRequestMethode, um eine Filteransicht zu erstellen. - Verwenden Sie die
DuplicateFilterViewRequestMethode, um eine Kopie einer Filteransicht zu erstellen. - Verwenden Sie die
UpdateFilterViewRequestMethode, um die Eigenschaften einer Filteransicht zu ändern. - Verwenden Sie die
DeleteFilterViewRequestMethode, um eine Filteransicht zu löschen.
Verwenden Sie die
spreadsheets.get
Methode und legen Sie den fields URL-Parameter auf sheets/filterViews fest, um alle Filteransichten aufzulisten. Das folgende
spreadsheets.get Codebeispiel zeigt eine Google Sheets-URL mit einer Feld
maske:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
JSON-Darstellung eines Filters
Das folgende Codebeispiel zeigt die JSON-Darstellung für ein
FilterView
Objekt. Das
BasicFilter
Objekt ist dasselbe, nur dass die Felder filterViewId und title fehlen
und kein benannter Bereich verwendet werden kann.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Beispiel für Verkaufsdaten
Im Rest dieses Dokuments wird auf die folgende Beispieltabelle mit Verkaufsdaten verwiesen:
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Rad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 3 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 4 | Bettgestell | FR-0B1 | 34,00 $ | 8 | Ost | Hannah | 12.03.2016 |
| 5 | Feld | P-034 | 6,00 $ | 4 | Nord | Devyn | 15.03.2016 |
| 6 | Feld | P-052 | 11,50 $ | 7 | Ost | Erik | 16.05.2016 |
| 7 | Rad | W-24 | 20,50 $ | 11 | Süd | Sheldon | 30.04.2016 |
| 8 | Engine | ENG-0161 | 330,00 $ | 2 | Nord | Jessie | 02.07.2016 |
Sortierspezifikationen
Ein Filter kann mehrere Sortierspezifikationen haben. Diese Spezifikationen bestimmen, wie die Daten sortiert werden, und werden in der angegebenen Reihenfolge angewendet. Das
SortSpec.dimensionIndex
Attribut gibt den Spaltenindex an, auf den die Sortierung angewendet werden soll.
Das folgende Codebeispiel zeigt eine Sortierspezifikation:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Wenn diese Spezifikation auf die Beispieltabelle mit Verkaufsdaten angewendet wird, werden die Daten zuerst nach der Spalte „Menge“ sortiert und dann, wenn zwei Zeilen dieselbe Menge haben, nach „Versanddatum“.
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 3 | Engine | ENG-0161 | 330,00 $ | 2 | Nord | Jessie | 02.07.2016 |
| 4 | Rad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 5 | Feld | P-034 | 6,00 $ | 4 | Nord | Devyn | 15.03.2016 |
| 6 | Feld | P-052 | 11,50 $ | 7 | Ost | Erik | 16.05.2016 |
| 7 | Bettgestell | FR-0B1 | 34,00 $ | 8 | Ost | Hannah | 12.03.2016 |
| 8 | Rad | W-24 | 20,50 $ | 11 | Süd | Sheldon | 30.04.2016 |
Filterkriterien
Das
FilterCriteria
Objekt bestimmt, welche Tabellendaten in einem einfachen Filter oder
einer Filteransicht angezeigt oder ausgeblendet werden. Jedes Kriterium hängt von den Werten in einer bestimmten Spalte ab. Sie geben die Filterkriterien als Map an, wobei die Schlüssel die Spaltenindizes und die Werte die Kriterien sind.
Bei Kriterien, die mit einer booleschen
conditionangegeben werden,
muss die Bedingung true sein, damit Werte angezeigt werden. Die Bedingung überschreibt
nicht
hiddenValues.
Wenn ein Wert unter hiddenValues aufgeführt ist, werden alle Übereinstimmungen für einen Wert weiterhin ausgeblendet.
Das folgende Codebeispiel zeigt eine Map mit Filterkriterien:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Wenn diese Kriterien auf die Beispieltabelle mit Verkaufsdaten angewendet werden, werden nur Zeilen angezeigt, in denen der Wert der Spalte „Artikelkategorie“ nicht „Feld“ ist und der Wert der Spalte „Versand datum“ vor dem 30. April 2016 liegt.
| A | B | C | D | E | F | G | |
| 1 | Artikelkategorie | Modellnummer | Kosten | Menge | Region | Vertriebsmitarbeiter | Versanddatum |
| 2 | Rad | W-24 | 20,50 $ | 4 | West | Beth | 01.03.2016 |
| 3 | Tür | D-01X | 15,00 $ | 2 | Süd | Amir | 15.03.2016 |
| 4 | Bettgestell | FR-0B1 | 34,00 $ | 8 | Ost | Hannah | 12.03.2016 |
Codebeispiel für Filteransichten
Das folgende Codebeispiel zeigt, wie Sie eine Filteransicht erstellen, sie duplizieren und dann die duplizierte Version mit den Beispieldaten für Verkaufsdaten aktualisieren.