Class FilterCriteria

FilterCriteria

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

Usos comunes

Copiar criterios

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

Obtén los valores ocultos por el filtro

En el siguiente ejemplo, se obtiene el filtro que se aplica al rango dado y se registran los valores de la columna B que oculta el filtro.
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);

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()BooleanCriteriaMuestra el tipo booleano de los criterios, por ejemplo, CELL_EMPTY.
getCriteriaValues()Object[]Muestra un array de argumentos para criterios booleanos.
getHiddenValues()String[]Muestra los valores que oculta el filtro.
getVisibleBackgroundColor()ColorMuestra el color de fondo usado como criterios de filtro.
getVisibleForegroundColor()ColorMuestra el color de primer plano que se usa como criterio de filtro.
getVisibleValues()String[]Muestra los valores que muestra el filtro de 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.

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

Devolvedor

FilterCriteriaBuilder: Es un creador de criterios de filtro basado en estos criterios de filtro.


getCriteriaType()

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

A menudo, las personas usan este método para agregar criterios de condición booleanos a un filtro sin reemplazar los criterios existentes.

Puedes usar este método para cualquier tipo de filtro. Si los criterios de filtro no son una condición booleana, muestra 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);

Devolvedor

BooleanCriteria: Es el tipo de criterios booleanos, o null si los criterios no son una condición booleana.


getCriteriaValues()

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

A menudo, las personas usan este método para agregar criterios de condición booleanos a un filtro sin reemplazar los criterios existentes.

  • Para obtener el tipo de criterios booleanos, usa getCriteriaType().
  • Si quieres 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.

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

    Devolvedor

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


getHiddenValues()

Muestra los valores que oculta el filtro.

Usa este criterio con filtros en Grid hojas, el tipo predeterminado de hoja. Muestra null si llamas a este método para otros tipos de filtros.

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

Devolvedor

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


getVisibleBackgroundColor()

Muestra el color de fondo usado como criterios de filtro. Las celdas con este color de fondo permanecen visibles.

Usa este criterio con filtros en Grid hojas, el tipo predeterminado de hoja. Muestra null si llamas a este método para otros tipos de filtros.

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

Devolvedor

Color: Es el color de fondo que se usa como criterios de filtro.


getVisibleForegroundColor()

Muestra 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 Grid hojas, el tipo predeterminado de hoja. Muestra null si llamas a este método para otros tipos de filtros.

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

Devolvedor

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


getVisibleValues()

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

Este criterio es solo para los filtros de las tablas dinámicas que no están conectadas a una base de datos. Muestra un array vacío para otros tipos de filtros.

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

Devolvedor

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