Class FilterCriteria

Criteriosde filtro

Usa esta clase para obtener información sobre los criterios de los filtros existentes o copiarlos.

Usos comunes

Copia los criterios

En el siguiente ejemplo, se obtiene el filtro que se aplica al rango A1:C20, se obtienen los criterios aplicados a la columna C y se copian los criterios en la columna 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);

Obtén los valores ocultos por el filtro

En el siguiente ejemplo, se obtiene el filtro que se aplica al rango determinado y se registran los valores de la columna B que oculta el filtro.
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 datos que se muestraDescripción breve
copy()FilterCriteriaBuilderCopia estos criterios de filtro y crea un compilador de criterios que puedes aplicar a otro filtro.
getCriteriaType()BooleanCriteria|nullDevuelve el tipo booleano del criterio, por ejemplo, CELL_EMPTY.
getCriteriaValues()Object[]Devuelve un array de argumentos para criterios booleanos.
getHiddenValues()String[]Devuelve los valores que oculta el filtro.
getVisibleBackgroundColor()Color|nullDevuelve el color de fondo que se usa como criterio de filtro.
getVisibleForegroundColor()Color|nullDevuelve el color de primer plano que se usa como criterio de filtro.
getVisibleValues()String[]Devuelve los valores que muestra el filtro de la tabla dinámica.

Documentación detallada

copy()

Copia estos criterios de filtro y crea un compilador de criterios que puedes aplicar a otro filtro.

Puedes usar este método con cualquier tipo de filtro. Si usas un filtro de hoja, puedes copiar los criterios en otra columna.

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

Volver

FilterCriteriaBuilder: Es un compilador de criterios de filtro basado en este criterio de filtro.


getCriteriaType()

Devuelve el tipo booleano del criterio, por ejemplo, CELL_EMPTY. Para obtener información sobre los tipos de criterios booleanos, consulta la enumeración BooleanCriteria.

Las personas suelen usar este método para agregar criterios de condición booleana a un filtro sin reemplazar los criterios existentes.

Puedes usar este método para cualquier tipo de filtro. Si el criterio de filtro no es una condición booleana, devuelve 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);

Volver

BooleanCriteria|null: Es el tipo de criterio booleano o null si el criterio no es una condición booleana.


getCriteriaValues()

Devuelve un array de argumentos para criterios booleanos. Algunos tipos de criterios booleanos no tienen argumentos y devuelven un array vacío, por ejemplo, CELL_NOT_EMPTY.

Las personas suelen usar este método para agregar criterios de condición booleana a un filtro sin reemplazar los criterios existentes.

  • Para obtener el tipo de criterio booleano, usa getCriteriaType().
  • Para usar el tipo de criterio y los valores de criterio para crear o modificar un criterio de filtro, consulta FilterCriteriaBuilder.withCriteria(criteria, args).

    Puedes usar este método para cualquier 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);

    Volver

    Object[]: Es un array de argumentos adecuados para el tipo de criterio booleano. La cantidad de argumentos y su tipo coinciden con el método when...() correspondiente de la clase FilterCriteriaBuilder.


getHiddenValues()

Devuelve los valores que oculta el filtro.

Usa este criterio con filtros en las hojas de Grid, el tipo de hoja predeterminado. Devuelve null si llamas a este método para otros 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);

Volver

String[]: Es un array de valores que oculta el filtro.


getVisibleBackgroundColor()

Devuelve el color de fondo que se usa como criterio de filtro. Las celdas con este color de fondo permanecen visibles.

Usa este criterio con filtros en las hojas de Grid, el tipo de hoja predeterminado. Devuelve null si llamas a este método para otros 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);

Volver

Color|null: Es el color de fondo que se usa como criterio de filtro.


getVisibleForegroundColor()

Devuelve el color de primer plano que se usa como criterio de filtro. Las celdas con este color de primer plano permanecen visibles.

Usa este criterio con filtros en las hojas de Grid, el tipo de hoja predeterminado. Devuelve null si llamas a este método para otros 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);

Volver

Color|null: Es el color de primer plano que se usa como criterio de filtro.


getVisibleValues()

Devuelve los valores que muestra el filtro de la tabla dinámica.

Este criterio solo se aplica a los filtros de las tablas dinámicas que no están conectadas a una base de datos. Devuelve un array vacío para otros 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);

Volver

String[]: Es un array de valores que muestra el filtro de la tabla dinámica.