Class FilterCriteriaBuilder

FilterCriteriaBuilder

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

  1. Crea el compilador de criterios con SpreadsheetApp.newFilterCriteria().
  2. Agrega configuraciones al compilador con los métodos de esta clase.
  3. Usa build() para unir los criterios con la configuración que especificaste.

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 “hello” o “world”. Los criterios de esta muestra solo se pueden usar con filtros en hojas Grid, el tipo predeterminado de hoja.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
let criteria = SpreadsheetApp.newFilterCriteria()
                             .setHiddenValues(["hello", "world"])
                             .build();
filter.setColumnFilterCriteria(3, criteria);

Mostrar solo 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 que no están vacías en la columna "Categoría".
// Gets the sheet named "Connected sheet," which is connected to a database.
let sheet = SpreadsheetApp.getActiveSpreadsheet()
                          .getSheetByName("Connected sheet")
                          .asDataSourceSheet();
// Creates criteria that only shows non-empty cells.
let 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 creador 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 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.
setHiddenValues(values)FilterCriteriaBuilderEstablece los valores que se ocultarán.
setVisibleBackgroundColor(visibleBackgroundColor)FilterCriteriaBuilderEstablece el color de fondo que se usa como criterios de filtro.
setVisibleForegroundColor(visibleForegroundColor)FilterCriteriaBuilderEstablece el color de primer plano que se usa como criterios de filtro.
setVisibleValues(values)FilterCriteriaBuilderEstablece los valores que se mostrarán en una tabla dinámica.
whenCellEmpty()FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas vacías.
whenCellNotEmpty()FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas que no están vacías.
whenDateAfter(date)FilterCriteriaBuilderEstablece los criterios de filtro que muestran celdas con fechas posteriores a la fecha especificada.
whenDateAfter(date)FilterCriteriaBuilderEstablece los 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 los criterios de filtro que muestran celdas con fechas que son iguales a la fecha especificada.
whenDateEqualTo(date)FilterCriteriaBuilderEstablece los criterios de filtro que muestran celdas con fechas que son 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 celdas que no son iguales a la fecha especificada.
whenDateNotEqualToAny(dates)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas con fechas que no son iguales a ninguna de las fechas especificadas.
whenFormulaSatisfied(formula)FilterCriteriaBuilderEstablece los criterios de filtro para mostrar las celdas con una fórmula especificada (como =B:B<C:C) que se evalúa como true.
whenNumberBetween(start, end)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con un número que se encuentra entre 2 números especificados o que es cualquiera de ellos.
whenNumberEqualTo(number)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar celdas con un número igual al número especificado.
whenNumberEqualToAny(numbers)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar celdas con un número igual a cualquiera de los números especificados.
whenNumberGreaterThan(number)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con un número superior al número especificado.
whenNumberGreaterThanOrEqualTo(number)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar celdas con un número mayor o igual que el número especificado.
whenNumberLessThan(number)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar las celdas con un número menor que el número especificado.
whenNumberLessThanOrEqualTo(number)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar las celdas con un número menor o igual que el número especificado.
whenNumberNotBetween(start, end)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con un número que no se encuentra en el medio y que no es ninguno de los dos números especificados.
whenNumberNotEqualTo(number)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar las celdas con un número que no es igual al número especificado.
whenNumberNotEqualToAny(numbers)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar las celdas con un número que no es igual a ninguno de los números especificados.
whenTextContains(text)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con texto que contiene el texto especificado.
whenTextDoesNotContain(text)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar las celdas con texto que no contiene 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 del filtro para mostrar celdas con texto igual al texto especificado.
whenTextEqualToAny(texts)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar celdas con texto igual a cualquiera de los valores de texto especificados.
whenTextNotEqualTo(text)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar celdas con texto que no es igual al texto especificado.
whenTextNotEqualToAny(texts)FilterCriteriaBuilderConfigura los criterios del filtro para mostrar celdas con texto que no es igual a ninguno de los valores especificados.
whenTextStartsWith(text)FilterCriteriaBuilderEstablece los criterios del filtro para mostrar 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 de BooleanCriteria, como CELL_EMPTY o NUMBER_GREATER_THAN.

Documentación detallada

build()

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

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

Devolvedor

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.

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 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.


setHiddenValues(values)

Establece los valores que se ocultarán. Borra cualquier valor oculto o visible existente.

Solo puedes usar estos criterios para los filtros en hojas Grid, el tipo predeterminado de hoja.

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

Parámetros

NombreTipoDescripción
valuesString[]La lista de valores para ocultar.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


setVisibleBackgroundColor(visibleBackgroundColor)

Establece el color de fondo que se usa como criterios de filtro. Las celdas con este color de fondo permanecen visibles. Cuando se establecen criterios de filtro de color de fondo, se quitan los criterios actuales de filtro de color de este compilador.

Solo puedes usar estos criterios para los filtros en hojas Grid, el tipo predeterminado de hoja.

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

Parámetros

NombreTipoDescripción
visibleBackgroundColorColorEl color de fondo que se establecerá. Debe ser un color de estilo RGB. Este método no admite colores de tema.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


setVisibleForegroundColor(visibleForegroundColor)

Establece el color de primer plano que se usa como criterios de filtro. Las celdas con este color de primer plano permanecen visibles. Cuando se establecen criterios de filtro de color de primer plano, se quitan los criterios actuales de filtro de color de este compilador.

Solo puedes usar estos criterios para los filtros en hojas Grid, el tipo predeterminado de hoja.

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

Parámetros

NombreTipoDescripción
visibleForegroundColorColorColor de primer plano que se establecerá Debe ser un color de estilo RGB. Este método no admite colores de tema.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


setVisibleValues(values)

Establece los valores que se mostrarán en una tabla dinámica. Borra cualquier valor oculto o visible existente.

Solo puedes utilizar este criterio para los filtros de las 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."
let pivotTable = ss.getPivotTables()[0];
let 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.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenCellEmpty()

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenCellNotEmpty()

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateAfter(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates after June 1, 2022
// and sets it to column A.
let date = new Date("June 1, 2022");
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateAfter(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateDateLa fecha más reciente para ocultar.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateAfter(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates after today's date
// and sets it to column A.
let date = SpreadsheetApp.RelativeDate.TODAY;
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateAfter(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateLa fecha relativa más reciente.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateBefore(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates before June 1, 2022
// and sets it to column A.
let date = new Date("June 1, 2022");
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateBefore(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateDateLa fecha más antigua que se debe ocultar.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateBefore(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates before today's date
// and sets it to column A.
let date = SpreadsheetApp.RelativeDate.TODAY;
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateBefore(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateLa fecha relativa más antigua que se debe ocultar.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateEqualTo(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates equal to June 1, 2022
// and sets it to column A.
let date = new Date("June 1, 2022");
let 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 la celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateEqualTo(date)

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

Puedes utilizar 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 estás filtrando debe ser una fecha. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates that fall within the past month
// and sets it to column A.
let date = SpreadsheetApp.RelativeDate.PAST_MONTH;
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateEqualTo(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

NombreTipoDescripción
dateRelativeDateFecha relativa con la que deben coincidir los valores de una celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateEqualToAny(dates)

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

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

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateNotEqualTo(date)

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

Solo puedes usar estos criterios con datos conectados a una base de datos. Por ejemplo, usa estos criterios con filtros en una hoja DataSource, una hoja que esté conectada a una base de datos, o un 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.
let ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pivot Table Sheet");
let dataPivotTable = ss.getDataSourcePivotTables()[0];
// Creates criteria that only shows cells that don't equal June 16, 2022
// and sets it to the "date" column.
let date = new Date("June 16, 2022");
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateNotEqualTo(date)
                             .build();
dataPivotTable.addFilter("date", criteria);

Parámetros

NombreTipoDescripción
dateDateEs la fecha que se ocultará.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenDateNotEqualToAny(dates)

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

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

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenFormulaSatisfied(formula)

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

Solo puedes usar estos criterios para filtrar datos que no estén conectados a una base de datos.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
let 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.
let formula = "=B:B<C:C";
let 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.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberBetween(start, end)

Establece los criterios del filtro para mostrar las celdas con un número que se encuentra entre 2 números especificados o que es cualquiera de ellos.

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that only shows cells with numbers that fall between 1-25, inclusively,
// and sets it to column A.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberBetween(1, 25)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberEqualTo(number)

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

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that only shows cells that are equal to 25 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberEqualTo(25)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberEqualToAny(numbers)

Configura los criterios del filtro para mostrar celdas con un número igual a cualquiera de los números especificados.

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

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberGreaterThan(number)

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

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that shows cells greater than 10 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberGreaterThan(10)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberGreaterThanOrEqualTo(number)

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

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that shows cells greater than or equal to 10 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberGreaterThanOrEqualTo(10)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberLessThan(number)

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

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that shows cells less than 10 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberLessThan(10)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberLessThanOrEqualTo(number)

Configura los criterios del filtro para mostrar las celdas con un número menor o igual que el número especificado.

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that shows cells less than or equal to 10 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberLessThanOrEqualTo(10)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberNotBetween(start, end)

Establece los criterios del filtro para mostrar las celdas con un número que no se encuentra en el medio y que no es ninguno de los dos números especificados.

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that hides cells with numbers that fall between 1-25, inclusively,
// and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberNotBetween(1, 25)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
startNumberEl número más bajo de ocultar.
endNumberEl número más alto que se ocultará.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberNotEqualTo(number)

Configura los criterios del filtro para mostrar las celdas con un número que no es igual al número especificado.

Puedes utilizar 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 estás filtrando debe ser un número. Si los datos no están conectados a una base de datos, el tipo de datos de la columna que estás filtrando no necesita 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();
let filter = ss.getFilter();
// Creates criteria that hides cells that are equal to 25 and sets it to column B.
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenNumberNotEqualTo(25)
                             .build();
filter.setColumnFilterCriteria(2, criteria);

Parámetros

NombreTipoDescripción
numberNumberNúmero que se ocultará.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenNumberNotEqualToAny(numbers)

Configura los criterios del filtro para mostrar las celdas con un número que no es igual a ninguno de los números especificados.

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

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextContains(text)

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Parámetros

NombreTipoDescripción
textStringTexto que debe contener la celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextDoesNotContain(text)

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Parámetros

NombreTipoDescripción
textStringTexto que no debe contener la celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa 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 utilizar este criterio con cualquier tipo de filtro.

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextEqualTo(text)

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextEqualToAny(texts)

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

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

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

Parámetros

NombreTipoDescripción
textsString[]Valores de texto que deben ser iguales en una celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextNotEqualTo(text)

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

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

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

Parámetros

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

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextNotEqualToAny(texts)

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

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

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

Parámetros

NombreTipoDescripción
textsString[]Valores de texto que una celda no puede ser igual a estos.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


whenTextStartsWith(text)

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

Puedes utilizar este criterio con cualquier tipo de filtro.

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

Parámetros

NombreTipoDescripción
textStringTexto que debe contener el inicio del texto de la celda.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.


withCriteria(criteria, args)

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

Puedes usar estos criterios 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();
let 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."
let filter = ss.getFilter();
let filterCriteria = filter.getColumnFilterCriteria(2);
let criteria = SpreadsheetApp.newFilterCriteria()
    .withCriteria(filterCriteria.getCriteriaType(), filterCriteria.getCriteriaValues())
    .setHiddenValues(["Northwest"])
    .build();
filter.setColumnFilterCriteria(3, criteria);

Parámetros

NombreTipoDescripción
criteriaBooleanCriteriaEl tipo de criterios booleanos.
argsObject[]Es un array de argumentos apropiado para el tipo de criterio; la cantidad de argumentos y su tipo coinciden con los métodos when...() correspondientes anteriores.

Devolvedor

FilterCriteriaBuilder: Este compilador se usa para encadenar.