Class FilterCriteria

FilterCriteria

Użyj tych zajęć, aby uzyskać informacje o istniejących filtrach lub skopiować z nich kryteria.

Typowe zastosowania

Kopiuj kryteria

Poniższy przykład pobiera filtr dotyczący zakresu A1: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

MetodaZwracany typKrótki opis
copy()FilterCriteriaBuilderSkopiowanie kryteriów filtra i utworzenie kreatora kryteriów, które można zastosować do innego filtr.
getCriteriaType()BooleanCriteriaZwraca 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()ColorZwraca kolor tła używany jako kryteria filtra.
getVisibleForegroundColor()ColorZwraca 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.

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 metody when...() klasy FilterCriteriaBuilder.


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.