Class FilterCriteria

FilterCriteria

Use essa classe para receber informações ou copiar os critérios dos filtros atuais.

Usos comuns

Copiar critérios

O exemplo a seguir recebe o filtro que se aplica ao intervalo A1:C20, os critérios aplicados à coluna C e copia os critérios para a coluna 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);

Receber valores ocultos pelo filtro

O exemplo a seguir recebe o filtro que se aplica ao intervalo especificado e registra os valores da coluna B que o filtro oculta.
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);

Métodos

MétodoTipo de retornoBreve descrição
copy()FilterCriteriaBuilderCopia esses critérios de filtro e cria um criador de critérios que pode ser aplicado a outro filtro.
getCriteriaType()BooleanCriteria|nullRetorna o tipo booleano dos critérios, por exemplo, CELL_EMPTY.
getCriteriaValues()Object[]Retorna uma matriz de argumentos para critérios booleanos.
getHiddenValues()String[]Retorna os valores que o filtro oculta.
getVisibleBackgroundColor()Color|nullRetorna a cor de plano de fundo usada como critério de filtro.
getVisibleForegroundColor()Color|nullRetorna a cor de primeiro plano usada como um critério de filtro.
getVisibleValues()String[]Retorna os valores mostrados pelo filtro da tabela dinâmica.

Documentação detalhada

copy()

Copia esses critérios de filtro e cria um criador de critérios que pode ser aplicado a outro filtro.

Você pode usar esse método com qualquer tipo de filtro. Se você estiver usando um filtro de planilha, poderá copiar os critérios para outra coluna.

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);

Retornar

FilterCriteriaBuilder: um criador de critérios de filtro com base nesses critérios.


getCriteriaType()

Retorna o tipo booleano dos critérios, por exemplo, CELL_EMPTY. Para saber mais sobre os tipos de critérios booleanos, consulte a enumeração BooleanCriteria.

As pessoas costumam usar esse método para adicionar critérios de condição booleana a um filtro sem substituir os critérios atuais.

Você pode usar esse método para qualquer tipo de filtro. Se o critério de filtro não for uma condição booleana, vai retornar 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);

Retornar

BooleanCriteria|null: o tipo de critério booleano ou null se o critério não for uma condição booleana.


getCriteriaValues()

Retorna uma matriz de argumentos para critérios booleanos. Alguns tipos de critérios booleanos não têm argumentos e retornam uma matriz vazia, por exemplo, CELL_NOT_EMPTY.

As pessoas costumam usar esse método para adicionar critérios de condição booleana a um filtro sem substituir os critérios atuais.

  • Para receber o tipo de critério booleano, use getCriteriaType().
  • Para usar o tipo e os valores de critério para criar ou modificar um critério de filtro, consulte FilterCriteriaBuilder.withCriteria(criteria, args).

    Você pode usar esse método para qualquer tipo de filtro.

    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);

    Retornar

    Object[]: uma matriz de argumentos adequada ao tipo de critério booleano. O número de argumentos e o tipo deles correspondem ao método when...() correspondente da classe FilterCriteriaBuilder.


getHiddenValues()

Retorna os valores que o filtro oculta.

Use esse critério com filtros nas planilhas Grid, o tipo padrão de planilha. Retorna null se você chamar esse método para outros tipos de filtros.

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);

Retornar

String[]: uma matriz de valores que o filtro oculta.


getVisibleBackgroundColor()

Retorna a cor de plano de fundo usada como critério de filtro. As células com essa cor de fundo permanecem visíveis.

Use esse critério com filtros nas planilhas Grid, o tipo padrão de planilha. Retorna null se você chamar esse método para outros tipos de filtros.

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);

Retornar

Color|null: a cor de plano de fundo usada como critério de filtro.


getVisibleForegroundColor()

Retorna a cor de primeiro plano usada como um critério de filtro. As células com essa cor de primeiro plano permanecem visíveis.

Use esse critério com filtros nas planilhas Grid, o tipo padrão de planilha. Retorna null se você chamar esse método para outros tipos de filtros.

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);

Retornar

Color|null: a cor de primeiro plano usada como critério de filtro.


getVisibleValues()

Retorna os valores mostrados pelo filtro da tabela dinâmica.

Esse critério é válido apenas para filtros em tabelas dinâmicas que não estão conectadas a um banco de dados. Retorna uma matriz vazia para outros tipos de filtros.

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);

Retornar

String[]: uma matriz de valores que o filtro da tabela dinâmica mostra.