Class FilterCriteriaBuilder

FilterCriteriaBuilder

Para agregar criterios a un filtro, debes hacer lo siguiente:

  1. Crea el compilador de criterios con SpreadsheetApp.newFilterCriteria().
  2. Agrega parámetros de configuración al compilador con los métodos de esta clase.
  3. Usa build() para reunir los criterios con la configuración especificada.

Usos comunes

Cómo ocultar valores en una hoja

En el siguiente ejemplo, se obtiene el filtro existente de una hoja y se agregan criterios que ocultan las celdas de la columna C que contienen “hola” o “mundo”. Los criterios de este ejemplo solo se pueden usar con filtros en hojas Grid, el tipo de hoja predeterminado.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['hello', 'world'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Mostrar solo las celdas no vacías

En el siguiente ejemplo, se agrega un filtro a una hoja DataSource, una hoja que está conectada a una base de datos, con criterios que solo muestran las celdas de la columna “Categoría” que no están vacías.
// Gets the sheet named "Connected sheet," which is connected to a database.
const sheet = SpreadsheetApp.getActiveSpreadsheet()
                  .getSheetByName('Connected sheet')
                  .asDataSourceSheet();
// Creates criteria that only shows non-empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
// Applies the criteria to the column named "Category."
sheet.addFilter('Category', criteria);

Métodos

MétodoTipo de datos que se muestraDescripción breve
build()FilterCriteriaEnsambla los criterios de filtro con la configuración que agregas al compilador de criterios.
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 que se usa como criterio de filtro.
getVisibleForegroundColor()ColorMuestra el color en primer plano que se usa como criterio de filtro.
getVisibleValues()String[]Devuelve los valores que muestra el filtro de la tabla dinámica.
setHiddenValues(values)FilterCriteriaBuilderEstablece los valores que se ocultarán.
setVisibleBackgroundColor(visibleBackgroundColor)FilterCriteriaBuilderEstablece el color de fondo que se usa como criterio de filtro.
setVisibleForegroundColor(visibleForegroundColor)FilterCriteriaBuilderEstablece el color en primer plano que se usa como criterio de filtro.
setVisibleValues(values)FilterCriteriaBuilderEstablece los valores que se mostrarán en una tabla dinámica.
whenCellEmpty()FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas vacías.
whenCellNotEmpty()FilterCriteriaBuilderEstablece los criterios de filtro para mostrar las celdas que no están vacías.
whenDateAfter(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas posteriores a la fecha especificada.
whenDateAfter(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas posteriores a la fecha relativa especificada.
whenDateBefore(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas anteriores a la fecha especificada.
whenDateBefore(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas anteriores a la fecha relativa especificada.
whenDateEqualTo(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas iguales a la fecha especificada.
whenDateEqualTo(date)FilterCriteriaBuilderEstablece criterios de filtro que muestran celdas con fechas iguales a la fecha relativa especificada.
whenDateEqualToAny(dates)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas con fechas iguales a cualquiera de las fechas especificadas.
whenDateNotEqualTo(date)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas que no sean iguales a la fecha especificada.
whenDateNotEqualToAny(dates)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con fechas que no sean iguales a ninguna de las fechas especificadas.
whenFormulaSatisfied(formula)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con una fórmula especificada (como =B:B<C:C) que se evalúa como true.
whenNumberBetween(start, end)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número que esté entre 2 números especificados o sea uno de ellos.
whenNumberEqualTo(number)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas con un número igual al especificado.
whenNumberEqualToAny(numbers)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número que sea igual a cualquiera de los números especificados.
whenNumberGreaterThan(number)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número mayor que el especificado.
whenNumberGreaterThanOrEqualTo(number)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número mayor o igual que el especificado.
whenNumberLessThan(number)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas con un número menor que el especificado.
whenNumberLessThanOrEqualTo(number)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número menor o igual al número especificado.
whenNumberNotBetween(start, end)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número que no esté entre 2 números especificados ni sea ninguno de ellos.
whenNumberNotEqualTo(number)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número que no sea igual al número especificado.
whenNumberNotEqualToAny(numbers)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con un número que no sea igual a ninguno de los números especificados.
whenTextContains(text)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar las celdas con texto que contiene el texto especificado.
whenTextDoesNotContain(text)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con texto que no contenga el texto especificado.
whenTextEndsWith(text)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con texto que termina con el texto especificado.
whenTextEqualTo(text)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar las celdas con texto igual al texto especificado.
whenTextEqualToAny(texts)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con texto que sea igual a cualquiera de los valores de texto especificados.
whenTextNotEqualTo(text)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con texto que no sea igual al texto especificado.
whenTextNotEqualToAny(texts)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar celdas con texto que no sea igual a ninguno de los valores especificados.
whenTextStartsWith(text)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar las celdas con texto que comienza con el texto especificado.
withCriteria(criteria, args)FilterCriteriaBuilderEstablece los criterios de filtro en una condición booleana definida por valores BooleanCriteria, como CELL_EMPTY o NUMBER_GREATER_THAN.

Documentación detallada

build()

Ensambla los criterios de filtro con la configuración que agregas al compilador de criterios.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp
                     .newFilterCriteria()  // Creates a criteria builder.
                     .whenCellNotEmpty()   // Adds settings to the builder.
                     .build();             // Assembles the criteria.
filter.setColumnFilterCriteria(2, criteria);

Volver

FilterCriteria: Es una representación de los criterios de filtro.


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

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 condiciones booleanas 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, se muestra 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: Es el tipo de criterio booleano o null si el criterio no es 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 condiciones booleanas a un filtro sin reemplazar los criterios existentes.

  • Para obtener el tipo de criterios booleanos, usa getCriteriaType().
  • Para usar el tipo de criterios y los valores de criterios para crear o modificar un criterio de filtro, consulta 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 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 hojas Grid, el tipo de hoja predeterminado. Muestra 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()

Muestra 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 hojas Grid, el tipo de hoja predeterminado. Muestra 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: Es el color de fondo que se usa como criterio de filtro.


getVisibleForegroundColor()

Muestra el color en 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 hojas Grid, el tipo de hoja predeterminado. Muestra 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: 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 es solo para los filtros de tablas dinámicas que no están conectados a una base de datos. Muestra 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.


setHiddenValues(values)

Establece los valores que se ocultarán. Borra los valores visibles o ocultos existentes.

Solo puedes usar este criterio para los filtros en las hojas Grid, el tipo de hoja predeterminada.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets the values to hide and applies the criteria to column C.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Parámetros

NombreTipoDescripción
valuesString[]Es la lista de valores que se ocultarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.

Arroja

Error: Si alguno de los valores es null.


setVisibleBackgroundColor(visibleBackgroundColor)

Establece el color de fondo que se usa como criterio de filtro. Las celdas con este color de fondo permanecen visibles. Si estableces un criterio de filtro de color de fondo, se quitarán todos los criterios de filtro de color actuales de este compilador.

Solo puedes usar este criterio para los filtros en las hojas Grid, el tipo de hoja predeterminada.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by background color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleBackgroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
visibleBackgroundColorColorEs el color de fondo que se establecerá. El color debe ser de estilo RGB. Este método no admite colores de tema.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


setVisibleForegroundColor(visibleForegroundColor)

Establece el color en primer plano que se usa como criterio de filtro. Las celdas con este color de primer plano permanecen visibles. Si estableces un criterio de filtro de color de primer plano, se quitarán todos los criterios de filtro de color actuales de este compilador.

Solo puedes usar este criterio para los filtros en las hojas Grid, el tipo de hoja predeterminada.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by foreground color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleForegroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
visibleForegroundColorColorEs el color de primer plano que se establecerá. El color debe ser de estilo RGB. Este método no admite colores de tema.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


setVisibleValues(values)

Establece los valores que se mostrarán en una tabla dinámica. Borra los valores visibles o ocultos existentes.

Solo puedes usar este criterio para los filtros de tablas dinámicas que no están conectadas a una base de datos.

// Gets the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet and adds a filter to it that
// sets the visible values to "Northeast" and "Southwest."
const pivotTable = ss.getPivotTables()[0];
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setVisibleValues(['Northeast', 'Southwest'])
                     .build();
pivotTable.addFilter(2, criteria);

Parámetros

NombreTipoDescripción
valuesString[]Es la lista de valores que se mostrarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.

Arroja

Error: Si alguno de los valores es null.


whenCellEmpty()

Establece los criterios de filtro para mostrar celdas vacías.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenCellNotEmpty()

Establece los criterios de filtro para mostrar las celdas que no están vacías.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows cells that aren't empty.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateAfter(date)

Establece criterios de filtro que muestran celdas con fechas posteriores a la fecha especificada.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria = SpreadsheetApp.newFilterCriteria().whenDateAfter(date).build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateDateEs la fecha más reciente que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateAfter(date)

Establece criterios de filtro que muestran celdas con fechas posteriores a la fecha relativa especificada. Para ver las opciones de fecha relativa, consulta Enum RelativeDate.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateAfter(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateEs la fecha relativa más reciente.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateBefore(date)

Establece criterios de filtro que muestran celdas con fechas anteriores a la fecha especificada.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no es así, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateBefore(date).build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateDateEs la fecha más antigua que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateBefore(date)

Establece criterios de filtro que muestran celdas con fechas anteriores a la fecha relativa especificada. Para ver las opciones de fecha relativa, consulta Enum RelativeDate.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateBefore(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateEs la fecha relativa más antigua que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateEqualTo(date)

Establece criterios de filtro que muestran celdas con fechas iguales a la fecha especificada.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates equal to June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateEqualTo(date).build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateDateEs la fecha con la que deben coincidir los valores de las celdas.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateEqualTo(date)

Establece criterios de filtro que muestran celdas con fechas iguales a la fecha relativa especificada. Para ver las opciones de fecha relativa, consulta Enum RelativeDate.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser una fecha, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates that fall within the past
// month and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualTo(SpreadsheetApp.RelativeDate.PAST_MONTH)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateEs la fecha relativa con la que deben coincidir los valores de las celdas.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateEqualToAny(dates)

Establece los criterios del filtro para mostrar celdas con fechas iguales a cualquiera de las fechas especificadas.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that shows cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

Parámetros

NombreTipoDescripción
datesDate[]Las fechas que se mostrarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateNotEqualTo(date)

Establece los criterios del filtro para mostrar las celdas que no sean iguales a la fecha especificada.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

El tipo de datos de la columna por la que filtras debe ser una fecha.

// Gets a pivot table that's connected to a database.
const ss =
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Pivot Table Sheet');
const dataPivotTable = ss.getDataSourcePivotTables()[0];
// Creates criteria that only shows cells that don't equal June 16, 2022
// and sets it to the "date" column.
const date = new Date('June 16, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateNotEqualTo(date).build();
dataPivotTable.addFilter('date', criteria);

Parámetros

NombreTipoDescripción
dateDateLa fecha que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenDateNotEqualToAny(dates)

Establece los criterios de filtro para mostrar celdas con fechas que no sean iguales a ninguna de las fechas especificadas.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that hides cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateNotEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

Parámetros

NombreTipoDescripción
datesDate[]Las fechas que se ocultarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenFormulaSatisfied(formula)

Establece los criterios de filtro para mostrar celdas con una fórmula especificada (como =B:B<C:C) que se evalúa como true.

Solo puedes usar este criterio para filtrar datos que no están conectados a una base de datos.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows the rows where the value in column B is less than
// the value in column C and sets it to column A.
const formula = '=B:B<C:C';
const criteria =
    SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied(formula).build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
formulaStringUna fórmula personalizada que se evalúa como true si la entrada es válida.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberBetween(start, end)

Establece los criterios de filtro para mostrar celdas con un número que esté entre 2 números especificados o sea uno de ellos.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells with numbers that fall between 1-25,
// inclusively, and sets it to column A.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberBetween(1, 25).build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
startNumberEs el número más bajo que se mostrará.
endNumberEs el número más alto que se mostrará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberEqualTo(number)

Establece los criterios del filtro para mostrar celdas con un número igual al especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells that are equal to 25 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEs el número que se mostrará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberEqualToAny(numbers)

Establece los criterios de filtro para mostrar celdas con un número que sea igual a cualquiera de los números especificados.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that only shows cells with the number
// 10, 20, or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

Parámetros

NombreTipoDescripción
numbersNumber[]Los números que se mostrarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberGreaterThan(number)

Establece los criterios de filtro para mostrar celdas con un número mayor que el especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberGreaterThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEs el número más alto que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberGreaterThanOrEqualTo(number)

Establece los criterios de filtro para mostrar celdas con un número mayor o igual que el especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than or equal to 10 and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberGreaterThanOrEqualTo(10)
                     .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEs el número más bajo que se mostrará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberLessThan(number)

Establece los criterios del filtro para mostrar celdas con un número menor que el especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEl número más bajo que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberLessThanOrEqualTo(number)

Establece los criterios de filtro para mostrar celdas con un número menor o igual al número especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than or equal to 10 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThanOrEqualTo(10).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEs el número más alto que se mostrará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberNotBetween(start, end)

Establece los criterios de filtro para mostrar celdas con un número que no esté entre 2 números especificados ni sea ninguno de ellos.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells with numbers that fall between 1-25,
// inclusively, and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotBetween(1, 25).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
startNumberSe oculta el número más bajo.
endNumberEs el número más alto que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberNotEqualTo(number)

Establece los criterios de filtro para mostrar celdas con un número que no sea igual al número especificado.

Puedes usar este criterio con cualquier tipo de filtro. Si usas este criterio con datos que están conectados a una base de datos, el tipo de datos de la columna por la que filtras debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna por la que filtras no tiene que ser un número, pero, si no lo es, es posible que obtengas resultados inesperados.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that are equal to 25 and sets it to column
// B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberEl número que se ocultará.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenNumberNotEqualToAny(numbers)

Establece los criterios de filtro para mostrar celdas con un número que no sea igual a ninguno de los números especificados.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that hides cells with the number 10, 20,
// or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberNotEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

Parámetros

NombreTipoDescripción
numbersNumber[]Los números que se ocultarán.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextContains(text)

Establece los criterios de filtro para mostrar las celdas con texto que contiene el texto especificado. El texto no distingue mayúsculas de minúsculas.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells that contain "Northwest" and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextContains('Northwest').build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto que debe contener la celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextDoesNotContain(text)

Establece los criterios de filtro para mostrar celdas con texto que no contenga el texto especificado. El texto no distingue mayúsculas de minúsculas.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that contain "Northwest" and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextDoesNotContain('Northwest')
                     .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto que la celda no debe contener.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextEndsWith(text)

Establece los criterios del filtro para mostrar las celdas con texto que termina con el texto especificado. El texto no distingue mayúsculas de minúsculas.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that ends with "est" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEndsWith('est').build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto que debe contener el final del texto de la celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextEqualTo(text)

Establece los criterios de filtro para mostrar las celdas con texto igual al texto especificado. El texto no distingue mayúsculas de minúsculas.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that equals "hello" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEqualTo('hello').build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto al que debe ser igual el texto de la celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextEqualToAny(texts)

Establece los criterios de filtro para mostrar celdas con texto que sea igual a cualquiera de los valores de texto especificados. El texto no distingue mayúsculas de minúsculas.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that shows cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

Parámetros

NombreTipoDescripción
textsString[]Los valores de texto a los que debe ser igual una celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextNotEqualTo(text)

Establece los criterios de filtro para mostrar celdas con texto que no sea igual al texto especificado. El texto no distingue mayúsculas de minúsculas.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with text equal to
// "tech."
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextNotEqualTo('tech').build();
dataSheet.addFilter('category', criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto al que no puede ser igual el texto de la celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextNotEqualToAny(texts)

Establece los criterios de filtro para mostrar celdas con texto que no sea igual a ninguno de los valores especificados. El texto no distingue mayúsculas de minúsculas.

Solo puedes usar este criterio con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja conectada a una base de datos o una DataSourcePivotTable, una tabla dinámica creada a partir de una hoja DataSource.

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextNotEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

Parámetros

NombreTipoDescripción
textsString[]Los valores de texto a los que no puede ser igual una celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


whenTextStartsWith(text)

Establece los criterios de filtro para mostrar las celdas con texto que comienza con el texto especificado. El texto no distingue mayúsculas de minúsculas.

Puedes usar este criterio con cualquier tipo de filtro.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that starts with "pre" and sets
// it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextStartsWith('pre').build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
textStringEs el texto que debe contener el comienzo del texto de la celda.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.


withCriteria(criteria, args)

Establece los criterios de filtro en una condición booleana definida por valores BooleanCriteria, como CELL_EMPTY o NUMBER_GREATER_THAN. Para copiar la condición booleana de criterios existentes, define los parámetros de este método con getCriteriaType() y getCriteriaValues() en un criterio existente.

Puedes usar este criterio con cualquier tipo de filtro, pero algunos BooleanCriteria no se aplican a todos los filtros.

// Builds a filter criteria that is based on existing boolean conditions from
// another criteria. Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the existing boolean conditions applied to Column B and adds criteria to
// column C that has the same boolean conditions and additional criteria that
// hides the value, "Northwest."
const filterCriteria = filter.getColumnFilterCriteria(2);
const criteria = SpreadsheetApp.newFilterCriteria()
                     .withCriteria(
                         filterCriteria.getCriteriaType(),
                         filterCriteria.getCriteriaValues(),
                         )
                     .setHiddenValues(['Northwest'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Parámetros

NombreTipoDescripción
criteriaBooleanCriteriaEs el tipo de criterio booleano.
argsObject[]Es un array de argumentos adecuados al tipo de criterios. La cantidad de argumentos y su tipo coinciden con los métodos when...() correspondientes que se mencionaron anteriormente.

Volver

FilterCriteriaBuilder: Este compilador, para encadenar.