Class Filter

Filter

Verwenden Sie diese Klasse, um vorhandene Filter in Grid-Tabellen, dem Standardtyp von Tabellenblättern, zu ändern. Rasterblätter sind normale Tabellenblätter mit Daten, die nicht mit einer Datenbank verbunden sind.

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

Wenn Sie diese Klasse verwenden möchten, müssen Sie zuerst mit Range.getFilter() oder Sheet.getFilter() auf den Rastertabellenfilter zugreifen.

Übliche Anwendungsbereiche

Filter entfernen

Im folgenden Beispiel wird der Filter für das aktive Tabellenblatt abgerufen und entfernt.
let ss = SpreadsheetApp.getActiveSheet();
let 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. Anschließend wird die Methode getRange() aus dieser Klasse verwendet, um den Bereich zu protokollieren, auf den der Filter angewendet wird.
let ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Methoden

MethodeRückgabetypKurzbeschreibung
getColumnFilterCriteria(columnPosition)FilterCriteriaRuft die Filterkriterien der angegebenen Spalte oder null ab, wenn auf die Spalte keine Filterkriterien angewendet werden.
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, mit Ausnahme der ersten Zeile (Kopfzeile) in dem Bereich, für den dieser Filter gilt.

Detaillierte Dokumentation

getColumnFilterCriteria(columnPosition)

Ruft die Filterkriterien der angegebenen Spalte oder null ab, wenn auf die Spalte keine Filterkriterien angewendet werden.

Verketten Sie diese Methode mit Methoden aus der Klasse FilterCriteria, um weitere Details zu den Filterkriterien zu erhalten.

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

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-indexierte Position der Spalte. Beispiel: Der Index der Spalte B ist 2.

Return

FilterCriteria: Die Filterkriterien.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Return

Range: Der Bereich des Filters. Verketten Sie diese Methode mit Range.getA1Notation(), um den Bereich in der A1-Notation zu erhalten.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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

remove()

Entfernt diesen Filter.

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

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-indexierte Position der Spalte. Beispiel: Der Index der Spalte B ist 2.

Return

Filter: Der Filter für Verkettungen.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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 Builder für Filterkriterien mit SpreadsheetApp.newFilterCriteria(). Fügen Sie dem Builder dann mithilfe der Klasse FilterCriteriaBuilder Kriterien hinzu. Nachdem Sie die Kriterien erstellt haben, legen Sie sie als filterCriteria-Parameter für diese Methode fest.

let ss = SpreadsheetApp.getActiveSheet();
let 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-indexierte Position der Spalte. Beispiel: Der Index der Spalte B ist 2.
filterCriteriaFilterCriteriaDie festzulegenden Filterkriterien. Wenn Sie für das Kriterium null festlegen, werden die Filterkriterien aus der angegebenen Spalte entfernt. Sie können aber auch removeColumnFilterCriteria(columnPosition) verwenden.

Return

Filter: Der Filter für Verkettungen.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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

sort(columnPosition, ascending)

Sortiert den gefilterten Bereich nach der angegebenen Spalte, mit Ausnahme der ersten Zeile (Kopfzeile) in dem Bereich, für den dieser Filter gilt.

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

Parameter

NameTypBeschreibung
columnPositionIntegerDie 1-indexierte Position der Spalte. Beispiel: Der Index der Spalte B ist 2.
ascendingBooleanBei true wird der gefilterte Bereich in aufsteigender Reihenfolge sortiert. Bei false wird der gefilterte Bereich in absteigender Reihenfolge sortiert.

Return

Filter: Der Filter für Verkettungen.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

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