Class FilterCriteria

FiltrKryteria

Użyj tej klasy, aby uzyskać informacje o kryteriach w istniejących filtrach lub je skopiować.

Typowe zastosowania

Kopiowanie kryteriów

Poniższy przykład pobiera filtr, który ma zastosowanie do zakresu A1: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

MetodaZwracany typKrótki opis
copy()FilterCriteriaBuilderKopiuje kryteria filtra i tworzy narzędzie do tworzenia kryteriów, które możesz zastosować do innego filtra.
getCriteriaType()BooleanCriteria|nullZwraca typ logiczny kryterium, np. CELL_EMPTY.
getCriteriaValues()Object[]Zwraca tablicę argumentów dla kryteriów logicznych.
getHiddenValues()String[]Zwraca wartości, które filtr ukrywa.
getVisibleBackgroundColor()Color|nullZwraca kolor tła użyty jako kryterium filtrowania.
getVisibleForegroundColor()Color|nullZwraca kolor pierwszego planu użyty jako kryterium filtrowania.
getVisibleValues()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

FilterCriteriaBuilder – narzędzie do tworzenia kryteriów filtra na podstawie tych kryteriów.


getCriteriaType()

Zwraca typ logiczny kryterium, np. CELL_EMPTY. Więcej informacji o typach kryteriów logicznych znajdziesz w wyliczeniu BooleanCriteria.

Użytkownicy często używają tej metody, aby dodać do filtra kryteria warunku logicznego bez zastępowania istniejących kryteriów.

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

BooleanCriteria|null – typ kryteriów logicznych lub null, jeśli kryteria nie są warunkiem logicznym.


getCriteriaValues()

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 getCriteriaType().
  • Aby użyć typu kryterium i wartości kryterium do utworzenia lub zmodyfikowania kryteriów filtra, zapoznaj się z tym artykułem:FilterCriteriaBuilder.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ą klasy FilterCriteriaBuilder.


getHiddenValues()

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.


getVisibleBackgroundColor()

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.


getVisibleForegroundColor()

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.


getVisibleValues()

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.