Użyj tych zajęć, aby uzyskać informacje o istniejących filtrach lub skopiować z nich kryteria.
- Aby utworzyć nowy filtr, skorzystaj z tych instrukcji:
- W przypadku arkuszy wybierz
Range.createFilter()
. - W przypadku tabel przestawnych użyj
PivotTable.addFilter(sourceDataColumn, filterCriteria)
. - W przypadku arkuszy połączonych z bazą danych użyj
DataSourceSheet.addFilter(columnName, filterCriteria)
. - W przypadku tabel przestawnych połączonych z bazą danych użyj
DataSourcePivotTable.addFilter(columnName, filterCriteria)
.
- W przypadku arkuszy wybierz
- Aby utworzyć kryteria dla dowolnego typu filtra, zapoznaj się z sekcjami
SpreadsheetApp.newFilterCriteria()
iFilterCriteriaBuilder
.
Typowe zastosowania
Kopiuj kryteria
Poniższy przykład pobiera filtr dotyczący zakresuA1:C20
, który uzyskuje kryteria.
zastosowano do kolumny C i skopiuje kryteria do kolumny B.
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);
Pobieranie wartości ukrytych przez filtr
Poniższy przykład pobiera filtr dotyczący danego zakresu i rejestruje wartości z kolumnę B ukrywaną przez filtr.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);
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
copy() | FilterCriteriaBuilder | Skopiowanie kryteriów filtra i utworzenie kreatora kryteriów, które można zastosować do innego filtr. |
getCriteriaType() | BooleanCriteria | Zwraca typ wartości logicznej kryterium, na przykład CELL_EMPTY . |
getCriteriaValues() | Object[] | Zwraca tablicę argumentów dla kryteriów wartości logicznych. |
getHiddenValues() | String[] | Zwraca wartości ukrywane przez filtr. |
getVisibleBackgroundColor() | Color | Zwraca kolor tła używany jako kryteria filtra. |
getVisibleForegroundColor() | Color | Zwraca kolor pierwszego planu używany jako kryterium filtra. |
getVisibleValues() | String[] | Zwraca wartości wyświetlane przez filtr tabeli przestawnej. |
Szczegółowa dokumentacja
copy()
Skopiowanie kryteriów filtra i utworzenie kreatora kryteriów, które można zastosować do innego filtr.
Tej metody możesz używać z każdym typem filtra. Jeśli używasz filtra arkusza, możesz skopiować kryteria do innej kolumny.
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);
Powrót
FilterCriteriaBuilder
– kreator kryteriów filtrowania oparty na tych kryteriach filtrowania.
getCriteriaType()
Zwraca typ wartości logicznej kryterium, na przykład CELL_EMPTY
. Więcej informacji o typach
kryteriów wartości logicznych, zobacz wyliczenie BooleanCriteria
.
Użytkownicy często korzystają z tej metody do dodawania do filtra kryteriów warunku logicznego bez zastępowania istniejących kryteriów.
- Aby uzyskać argumenty kryteriów, użyj funkcji
getCriteriaValues()
. - Aby użyć typu i wartości kryteriów do tworzenia lub modyfikowania kryteriów filtrowania, zapoznaj się z artykułem
FilterCriteriaBuilder.withCriteria(criteria, args)
Możesz użyć tej metody w przypadku każdego typu filtra. Jeśli kryteria filtrowania nie są wartościami logicznymi
warunku, zwraca null
.
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);
Powrót
BooleanCriteria
– typ kryteriów wartości logicznej lub null
, jeśli nie są one wartościami logicznymi.
.
getCriteriaValues()
Zwraca tablicę argumentów dla kryteriów wartości logicznych. Niektóre typy kryteriów wartości logicznych nie mają
i zwraca pustą tablicę, np. CELL_NOT_EMPTY
.
Użytkownicy często korzystają z tej metody do dodawania do filtra kryteriów warunku logicznego bez zastępowania istniejących kryteriów.
- Aby uzyskać typ kryteriów wartości logicznej, użyj
getCriteriaType()
. - Aby użyć typu i wartości kryteriów do tworzenia lub modyfikowania kryteriów filtrowania, zapoznaj się z artykułem
FilterCriteriaBuilder.withCriteria(criteria, args)
Możesz użyć tej metody w przypadku każdego typu filtra.
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);
Powrót
Object[]
– tablica argumentów odpowiednich dla typu kryteriów wartości logicznych. Liczba argumentów i ich typ pasują do odpowiedniej metodywhen...()
klasyFilterCriteriaBuilder
.
getHiddenValues()
Zwraca wartości ukrywane przez filtr.
Użyj tych kryteriów w przypadku filtrów w Grid
arkuszach (domyślny typ arkusza).
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
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);
Powrót
String[]
– tablica wartości ukrywanych przez filtr.
getVisibleBackgroundColor()
Zwraca kolor tła używany jako kryteria filtra. Komórki z tym kolorem tła pozostaną widoczne.
Użyj tych kryteriów w przypadku filtrów w Grid
arkuszach (domyślny typ arkusza).
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
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);
Powrót
Color
– kolor tła używany jako kryterium filtra.
getVisibleForegroundColor()
Zwraca kolor pierwszego planu używany jako kryterium filtra. Komórki z tym kolorem pierwszego planu pozostaną widoczne.
Użyj tych kryteriów w przypadku filtrów w Grid
arkuszach (domyślny typ arkusza).
Zwraca null
, jeśli wywołujesz tę metodę w przypadku innych typów filtrów.
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);
Powrót
Color
– kolor pierwszego planu używany jako kryterium filtra.
getVisibleValues()
Zwraca wartości wyświetlane przez filtr tabeli przestawnej.
To kryterium dotyczy tylko filtrów w tabelach przestawnych, które nie są połączone z bazą danych. Zwraca pustą tablicę w przypadku innych typów filtrów.
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);
Powrót
String[]
– tablica wartości wyświetlanych przez filtr tabeli przestawnej.