Class Filter

Filter

Mit dieser Klasse können Sie vorhandene Filter in Grid-Tabellen bearbeiten, dem Standardtyp von Tabellen. Tabellenblätter mit Raster sind normale Tabellenblätter mit Daten, die nicht mit einer Datenbank verbunden sind.

Wenn noch kein Filter im Tabellenblatt vorhanden ist, erstellen Sie einen mit Range.createFilter().

Wenn Sie diese Klasse verwenden möchten, müssen Sie zuerst mit Range.getFilter() oder Sheet.getFilter() auf den Filter für das Tabellenblatt zugreifen.

Übliche Anwendungsbereiche

Filter entfernen

Im folgenden Beispiel wird der Filter im aktiven Tabellenblatt abgerufen und entfernt.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Bereich abrufen, auf den der Filter angewendet wird

Im folgenden Beispiel wird der Filter für das aktive Tabellenblatt abgerufen und dann die Methode getRange() aus dieser Klasse verwendet, um den Bereich zu protokollieren, auf den der Filter angewendet wird.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Methoden

MethodeRückgabetypKurzbeschreibung
getColumnFilterCriteria(columnPosition)FilterCriteria|nullRuft die Filterkriterien für die angegebene Spalte ab oder null, wenn für die Spalte keine Filterkriterien angewendet wurden.
getRange()RangeRuft den Bereich ab, für den dieser Filter gilt.
remove()voidEntfernt diesen Filter.
removeColumnFilterCriteria(columnPosition)FilterEntfernt die Filterkriterien aus der angegebenen Spalte.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterLegt die Filterkriterien für die angegebene Spalte fest.
sort(columnPosition, ascending)FilterSortiert den gefilterten Bereich nach der angegebenen Spalte. Die erste Zeile (die Kopfzeile) des Bereichs, auf den dieser Filter angewendet wird, wird dabei ausgeschlossen.

Detaillierte Dokumentation

getColumnFilterCriteria(columnPosition)

Ruft die Filterkriterien für die angegebene Spalte ab oder null, wenn für die Spalte keine Filterkriterien angewendet wurden.

Um weitere Details zu den Filterkriterien zu erhalten, verketten Sie diese Methode mit Methoden der Klasse FilterCriteria.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the filter criteria applied to column B of the active sheet
// and logs the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-basierte Position der Spalte. Der Index von Spalte B ist beispielsweise 2.

Rückflug

FilterCriteria|null: Die Filterkriterien.

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Ruft den Bereich ab, für den dieser Filter gilt.

// Gets the existing filter on the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Rückflug

Range: Der Bereich des Filters. Wenn Sie den Bereich in A1-Notation abrufen möchten, verketten Sie diese Methode mit Range.getA1Notation().

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Entfernt diesen Filter.

// Removes the filter from the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.remove();

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

Entfernt die Filterkriterien aus der angegebenen Spalte.

// Removes the filter criteria from column B.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-basierte Position der Spalte. Der Index von Spalte B ist beispielsweise 2.

Rückflug

Filter: Der Filter zur Verkettung.

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

Legt die Filterkriterien für die angegebene Spalte fest. Erstellen Sie zuerst den Filterkriterien-Builder mit SpreadsheetApp.newFilterCriteria(). Fügen Sie dem Builder dann mit der Klasse FilterCriteriaBuilder Kriterien hinzu. Nachdem Sie die Kriterien erstellt haben, legen Sie sie als Parameter filterCriteria für diese Methode fest.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-basierte Position der Spalte. Der Index von Spalte B ist beispielsweise 2.
filterCriteriaFilterCriteriaDie festzulegenden Filterkriterien. Wenn Sie die Kriterien auf null festlegen, werden Filterkriterien aus der angegebenen Spalte entfernt. Sie können aber auch removeColumnFilterCriteria(columnPosition) verwenden.

Rückflug

Filter: Der Filter zur Verkettung.

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

Sortiert den gefilterten Bereich nach der angegebenen Spalte. Die erste Zeile (die Kopfzeile) des Bereichs, auf den dieser Filter angewendet wird, wird dabei ausgeschlossen.

// Gets the existing filter and sorts it by column B in ascending order.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.sort(2, true);

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-basierte Position der Spalte. Der Index von Spalte B ist beispielsweise 2.
ascendingBooleanBei true wird der gefilterte Bereich in aufsteigender Reihenfolge sortiert, bei false in absteigender Reihenfolge.

Rückflug

Filter: Der Filter zur Verkettung.

Autorisierung

Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets