Verwenden Sie diese Klasse, um Informationen zu vorhandenen Filtern zu erhalten oder die Kriterien zu kopieren.
- So erstellen Sie einen neuen Filter:
- Für Tabellenblätter verwenden Sie
Range.createFilter()
. - Verwenden Sie
PivotTable.addFilter(sourceDataColumn, filterCriteria)
für Pivot-Tabellen. - Für Tabellenblätter, die mit einer Datenbank verbunden sind, verwenden Sie
DataSourceSheet.addFilter(columnName, filterCriteria)
. - Verwenden Sie
DataSourcePivotTable.addFilter(columnName, filterCriteria)
für Pivot-Tabellen, die mit einer Datenbank verbunden sind.
- Für Tabellenblätter verwenden Sie
- Informationen zum Erstellen der Kriterien für jeden Filtertyp finden Sie unter
SpreadsheetApp.newFilterCriteria()
undFilterCriteriaBuilder
.
Übliche Anwendungsbereiche
Kriterien kopieren
Im folgenden Beispiel wird der Filter abgerufen, der für den BereichA1:C20
gilt, die Kriterien auf Spalte C angewendet und die Kriterien in Spalte B kopiert.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Copies the filter criteria applied to column C. let filter = range.getFilter(); let criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any existing // criteria on column B. filter.setColumnFilterCriteria(2, criteria);
Werte werden durch den Filter ausgeblendet
Im folgenden Beispiel wird der Filter angewendet, der für den angegebenen Bereich gilt, und es werden die Werte aus Spalte B protokolliert, die der Filter ausgeblendet hat.let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); let filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
copy() | FilterCriteriaBuilder | Kopiert diese Filterkriterien und erstellt einen Kriterien-Builder, den Sie auf einen anderen Filter anwenden können. |
getCriteriaType() | BooleanCriteria | Gibt den booleschen Typ des Kriteriums zurück, z. B. CELL_EMPTY |
getCriteriaValues() | Object[] | Gibt ein Array von Argumenten für boolesche Kriterien zurück. |
getHiddenValues() | String[] | Gibt die Werte zurück, die mit dem Filter ausgeblendet werden. |
getVisibleBackgroundColor() | Color | Gibt die Hintergrundfarbe zurück, die als Filterkriterium verwendet wird. |
getVisibleForegroundColor() | Color | Gibt die Vordergrundfarbe zurück, die als Filterkriterium verwendet wird. |
getVisibleValues() | String[] | Gibt die Werte zurück, die im Filter der Pivot-Tabelle angezeigt werden. |
Detaillierte Dokumentation
copy()
Kopiert diese Filterkriterien und erstellt einen Kriterien-Builder, den Sie auf einen anderen Filter anwenden können.
Sie können diese Methode mit jedem beliebigen Filtertyp verwenden. Wenn Sie einen Tabellenblattfilter verwenden, können Sie die Kriterien in eine andere Spalte kopieren.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. let criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any existing // criteria on column B. filter.setColumnFilterCriteria(2, criteria);
Zurücksenden
FilterCriteriaBuilder
: Ein Filterkriterien-Builder, das auf diesen Filterkriterien basiert.
getCriteriaType()
Gibt den booleschen Typ des Kriteriums zurück, z. B. CELL_EMPTY
Informationen zu den Arten boolescher Kriterien finden Sie in der Aufzählung BooleanCriteria
.
Diese Methode wird häufig verwendet, um einem Filter boolesche Bedingungskriterien hinzuzufügen, ohne vorhandene Kriterien zu ersetzen.
- Verwenden Sie
getCriteriaValues()
, um die Argumente für die Kriterien abzurufen. - Wie Sie Filterkriterien erstellen oder ändern, erfahren Sie unter
FilterCriteriaBuilder.withCriteria(criteria, args)
.
Sie können diese Methode für jede Art von Filter verwenden. Wenn die Filterkriterien keine boolesche Bedingung sind, wird null
zurückgegeben.
let ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. let filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type object. let criteriaType = filter.getColumnFilterCriteria(2) .getCriteriaType() .toString(); // Logs the criteria type. console.log(criteriaType);
Zurücksenden
BooleanCriteria
: Der Typ der booleschen Kriterien oder null
, wenn die Kriterien keine boolesche Bedingung sind.
getCriteriaValues()
Gibt ein Array von Argumenten für boolesche Kriterien zurück. Einige boolesche Kriterientypen haben keine Argumente und geben ein leeres Array zurück, z. B. CELL_NOT_EMPTY
.
Diese Methode wird häufig verwendet, um einem Filter boolesche Bedingungskriterien hinzuzufügen, ohne vorhandene Kriterien zu ersetzen.
- Rufen Sie den booleschen Kriterientyp mit
getCriteriaType()
ab. - Wie Sie Filterkriterien erstellen oder ändern, erfahren Sie unter
FilterCriteriaBuilder.withCriteria(criteria, args)
.Sie können diese Methode für jede Art von Filter verwenden.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Gets the values of the boolean criteria and logs them. For example, if the boolean // condition is whenNumberGreaterThan(10), then the logged value is 10. let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
Zurücksenden
Object[]
: Ein Array von Argumenten, die dem booleschen Kriterientyp entsprechen. Die Anzahl der Argumente und ihr Typ stimmen mit der entsprechendenwhen...()
-Methode derFilterCriteriaBuilder
-Klasse überein.
getHiddenValues()
Gibt die Werte zurück, die mit dem Filter ausgeblendet werden.
Verwenden Sie dieses Kriterium mit Filtern für Grid
Tabellenblätter, den Standardtyp von Tabellenblättern.
Gibt null
zurück, wenn Sie diese Methode für andere Filtertypen aufrufen.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); let filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Zurücksenden
String[]
: Ein Array von Werten, die der Filter ausgeblendet.
getVisibleBackgroundColor()
Gibt die Hintergrundfarbe zurück, die als Filterkriterium verwendet wird. Zellen mit dieser Hintergrundfarbe sind weiterhin sichtbar.
Verwenden Sie dieses Kriterium mit Filtern für Grid
Tabellenblätter, den Standardtyp von Tabellenblättern.
Gibt null
zurück, wenn Sie diese Methode für andere Filtertypen aufrufen.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Logs the background color that column B is filtered by as a hexadecimal string. let filter = range.getFilter(); let color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
Zurücksenden
Color
: Die als Filterkriterium verwendete Hintergrundfarbe.
getVisibleForegroundColor()
Gibt die Vordergrundfarbe zurück, die als Filterkriterium verwendet wird. Zellen mit dieser Vordergrundfarbe bleiben sichtbar.
Verwenden Sie dieses Kriterium mit Filtern für Grid
Tabellenblätter, den Standardtyp von Tabellenblättern.
Gibt null
zurück, wenn Sie diese Methode für andere Filtertypen aufrufen.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Logs the foreground color that column B is filtered by as a hexadecimal string. let filter = range.getFilter(); let color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
Zurücksenden
Color
: Die Vordergrundfarbe, die als Filterkriterium verwendet wird.
getVisibleValues()
Gibt die Werte zurück, die im Filter der Pivot-Tabelle angezeigt werden.
Dieses Kriterium gilt nur für Filter in Pivot-Tabellen, die nicht mit einer Datenbank verbunden sind. Gibt ein leeres Array für andere Filtertypen zurück.
let ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its first filter. pivotTable = ss.getPivotTables()[0]; pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
Zurücksenden
String[]
: Ein Array von Werten, die der Filter der Pivot-Tabelle anzeigt.