Class Filter

Filter

Verwenden Sie diese Klasse, um vorhandene Filter für Grid Tabellenblätter zu ändern. Dies ist der Standardtyp von Tabellenblatt. Rastertabellen sind normale Blätter mit Daten, die nicht mit einer Datenbank verbunden sind.

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

Wenn Sie diesen Kurs 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 und dann wird die Methode getRange() aus um den Bereich zu protokollieren, für den der Filter gilt.
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 für die angegebene Spalte ab oder null, wenn in der Spalte keine Filterkriterien.
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, wobei die erste Zeile (Kopfzeile) ausgeschlossen wird in Bereich, für den dieser Filter gilt.

Detaillierte Dokumentation

getColumnFilterCriteria(columnPosition)

Ruft die Filterkriterien für die angegebene Spalte ab oder null, wenn in der Spalte keine Filterkriterien.

Verketten Sie diese Methode mit Methoden aus dem Klasse FilterCriteria.

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. Zum Beispiel ist der Index von Spalte B 2.

Rückflug

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());

Rückflug

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

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. Zum Beispiel ist der Index von Spalte B 2.

Rückflug

Filter: Der Filter für die Verkettung.

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

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. Zum Beispiel ist der Index von Spalte B 2.
filterCriteriaFilterCriteriaDie festzulegenden Filterkriterien. Wenn Sie das Kriterium auf null setzen, entfernt Filterkriterien aus der angegebenen Spalte. Sie können aber auch removeColumnFilterCriteria(columnPosition) verwenden.

Rückflug

Filter: Der Filter für die Verkettung.

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, wobei die erste Zeile (Kopfzeile) ausgeschlossen wird in 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. Zum Beispiel ist der Index von Spalte B 2.
ascendingBooleanBei true wird der gefilterte Bereich in aufsteigender Reihenfolge sortiert. Bei false wird der gefilterte Bereich in absteigender Reihenfolge sortiert.

Rückflug

Filter: Der Filter für die Verkettung.

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