Użyj tej klasy, aby uzyskać informacje o kryteriach w istniejących filtrach lub je skopiować.
- Aby utworzyć nowy filtr, wykonaj te czynności:
- W przypadku arkuszy używaj
Range.createFilter(). - W przypadku tabel przestawnych używaj
Pivot.Table.addFilter(sourceDataColumn, filterCriteria) - W przypadku arkuszy połączonych z bazą danych użyj
Data.Source Sheet.addFilter(columnName, filterCriteria) - W przypadku tabel przestawnych połączonych z bazą danych użyj
Data.Source Pivot Table.addFilter(columnName, filterCriteria)
- W przypadku arkuszy używaj
- Aby utworzyć kryteria dowolnego typu filtra, zapoznaj się z sekcjami
SpreadsheetiApp.newFilterCriteria() Filter.Criteria Builder
Typowe zastosowania
Kopiowanie kryteriów
Poniższy przykład pobiera filtr, który ma zastosowanie do zakresuA1:C20, pobiera kryteria zastosowane do kolumny C i kopiuje je do kolumny B.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Copies the filter criteria applied to column C. const filter = range.getFilter(); const 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
Ten przykładowy skrypt pobiera filtr, który ma zastosowanie do danego zakresu, i rejestruje wartości z kolumny B, które są ukryte przez filtr.const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Metody
| Metoda | Zwracany typ | Krótki opis |
|---|---|---|
copy() | Filter | Kopiuje kryteria filtra i tworzy narzędzie do tworzenia kryteriów, które możesz zastosować do innego filtra. |
get | Boolean | Zwraca typ logiczny kryterium, np. CELL_EMPTY. |
get | Object[] | Zwraca tablicę argumentów dla kryteriów logicznych. |
get | String[] | Zwraca wartości, które filtr ukrywa. |
get | Color|null | Zwraca kolor tła użyty jako kryterium filtrowania. |
get | Color|null | Zwraca kolor pierwszego planu użyty jako kryterium filtrowania. |
get | String[] | Zwraca wartości, które są wyświetlane przez filtr tabeli przestawnej. |
Szczegółowa dokumentacja
copy()
Kopiuje kryteria filtra i tworzy narzędzie do tworzenia kryteriów, które możesz zastosować do innego filtra.
Możesz użyć tej metody w przypadku dowolnego typu filtra. Jeśli używasz filtra arkusza, możesz skopiować kryteria do innej kolumny.
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. const 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
Filter – narzędzie do tworzenia kryteriów filtra na podstawie tych kryteriów.
get Criteria Type()
Zwraca typ logiczny kryterium, np. CELL_EMPTY. Więcej informacji o typach kryteriów logicznych znajdziesz w wyliczeniu Boolean.
Użytkownicy często używają tej metody, aby dodać do filtra kryteria warunku logicznego bez zastępowania istniejących kryteriów.
- Aby uzyskać argumenty dla kryteriów, użyj funkcji
get.Criteria Values() - Aby użyć typu kryterium i wartości kryterium do utworzenia lub zmodyfikowania kryteriów filtra, zapoznaj się z tym artykułem:
FilterCriteria Builder.withCriteria(criteria, args)
Możesz użyć tej metody w przypadku dowolnego typu filtra. Jeśli kryteria filtra nie są warunkiem logicznym, zwraca wartość null.
const ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. const filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type // object. const criteriaType = filter.getColumnFilterCriteria(2).getCriteriaType().toString(); // Logs the criteria type. console.log(criteriaType);
Powrót
Boolean – typ kryteriów logicznych lub null, jeśli kryteria nie są warunkiem logicznym.
get Criteria Values()
Zwraca tablicę argumentów dla kryteriów logicznych. Niektóre typy kryteriów logicznych nie mają argumentów i zwracają pustą tablicę, np. CELL_NOT_EMPTY.
Użytkownicy często używają tej metody, aby dodać do filtra kryteria warunku logicznego bez zastępowania istniejących kryteriów.
- Aby uzyskać typ kryteriów logicznych, użyj
get.Criteria Type() - Aby użyć typu kryterium i wartości kryterium do utworzenia lub zmodyfikowania kryteriów filtra, zapoznaj się z tym artykułem:
FilterCriteria Builder.withCriteria(criteria, args) Możesz użyć tej metody w przypadku dowolnego typu filtra.
const ss = SpreadsheetApp.getActiveSheet(); const 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. const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
Powrót
Object[]– tablica argumentów odpowiednich dla typu kryteriów logicznych. Liczba argumentów i ich typ są zgodne z odpowiedniąwhen...()metodą klasyFilter.Criteria Builder
get Hidden Values()
Zwraca wartości, które filtr ukrywa.
Używaj tych kryteriów z filtrami w Grid arkuszach, czyli domyślnym typie arkusza.
Zwraca wartość null, jeśli wywołasz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Powrót
String[] – tablica wartości, które filtr ukrywa.
get Visible Background Color()
Zwraca kolor tła użyty jako kryterium filtrowania. Komórki z tym kolorem tła pozostaną widoczne.
Używaj tych kryteriów z filtrami w Grid arkuszach, czyli domyślnym typie arkusza.
Zwraca wartość null, jeśli wywołasz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the background color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
Powrót
Color|null – kolor tła używany jako kryterium filtrowania.
get Visible Foreground Color()
Zwraca kolor pierwszego planu użyty jako kryterium filtrowania. Komórki z tym kolorem pierwszego planu pozostaną widoczne.
Używaj tych kryteriów z filtrami w Grid arkuszach, czyli domyślnym typie arkusza.
Zwraca wartość null, jeśli wywołasz tę metodę w przypadku innych typów filtrów.
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the foreground color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
Powrót
Color|null – kolor pierwszego planu używany jako kryterium filtrowania.
get Visible Values()
Zwraca wartości, które są wyświetlane przez filtr tabeli przestawnej.
Te kryteria dotyczą tylko filtrów w tabelach przestawnych, które nie są połączone z bazą danych. W przypadku innych typów filtrów zwraca pustą tablicę.
const ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its // first filter. const pivotTable = ss.getPivotTables()[0]; const pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
Powrót
String[] – tablica wartości, które wyświetla filtr tabeli przestawnej.