Para agregar criterios a un filtro, debes hacer lo siguiente:
- Crea el compilador de criterios con
SpreadsheetApp.newFilterCriteria()
. - Agrega parámetros de configuración al compilador con los métodos de esta clase.
- 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 hojasGrid
, 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 hojaDataSource
, 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étodo | Tipo de datos que se muestra | Descripción breve |
---|---|---|
build() | FilterCriteria | Ensambla los criterios de filtro con la configuración que agregas al compilador de criterios. |
copy() | FilterCriteriaBuilder | Copia estos criterios de filtro y crea un compilador de criterios que puedes aplicar a otro filtro. |
getCriteriaType() | BooleanCriteria | Muestra 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() | Color | Muestra el color de fondo que se usa como criterio de filtro. |
getVisibleForegroundColor() | Color | Muestra 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) | FilterCriteriaBuilder | Establece los valores que se ocultarán. |
setVisibleBackgroundColor(visibleBackgroundColor) | FilterCriteriaBuilder | Establece el color de fondo que se usa como criterio de filtro. |
setVisibleForegroundColor(visibleForegroundColor) | FilterCriteriaBuilder | Establece el color en primer plano que se usa como criterio de filtro. |
setVisibleValues(values) | FilterCriteriaBuilder | Establece los valores que se mostrarán en una tabla dinámica. |
whenCellEmpty() | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas vacías. |
whenCellNotEmpty() | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar las celdas que no están vacías. |
whenDateAfter(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas posteriores a la fecha especificada. |
whenDateAfter(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas posteriores a la fecha relativa especificada. |
whenDateBefore(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas anteriores a la fecha especificada. |
whenDateBefore(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas anteriores a la fecha relativa especificada. |
whenDateEqualTo(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas iguales a la fecha especificada. |
whenDateEqualTo(date) | FilterCriteriaBuilder | Establece criterios de filtro que muestran celdas con fechas iguales a la fecha relativa especificada. |
whenDateEqualToAny(dates) | FilterCriteriaBuilder | Establece los criterios del filtro para mostrar celdas con fechas iguales a cualquiera de las fechas especificadas. |
whenDateNotEqualTo(date) | FilterCriteriaBuilder | Establece los criterios del filtro para mostrar las celdas que no sean iguales a la fecha especificada. |
whenDateNotEqualToAny(dates) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con fechas que no sean iguales a ninguna de las fechas especificadas. |
whenFormulaSatisfied(formula) | FilterCriteriaBuilder | Establece 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) | FilterCriteriaBuilder | Establece 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) | FilterCriteriaBuilder | Establece los criterios del filtro para mostrar celdas con un número igual al especificado. |
whenNumberEqualToAny(numbers) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número que sea igual a cualquiera de los números especificados. |
whenNumberGreaterThan(number) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número mayor que el especificado. |
whenNumberGreaterThanOrEqualTo(number) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número mayor o igual que el especificado. |
whenNumberLessThan(number) | FilterCriteriaBuilder | Establece los criterios del filtro para mostrar celdas con un número menor que el especificado. |
whenNumberLessThanOrEqualTo(number) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número menor o igual al número especificado. |
whenNumberNotBetween(start, end) | FilterCriteriaBuilder | 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. |
whenNumberNotEqualTo(number) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número que no sea igual al número especificado. |
whenNumberNotEqualToAny(numbers) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con un número que no sea igual a ninguno de los números especificados. |
whenTextContains(text) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar las celdas con texto que contiene el texto especificado. |
whenTextDoesNotContain(text) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con texto que no contenga el texto especificado. |
whenTextEndsWith(text) | FilterCriteriaBuilder | Establece los criterios del filtro para mostrar las celdas con texto que termina con el texto especificado. |
whenTextEqualTo(text) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar las celdas con texto igual al texto especificado. |
whenTextEqualToAny(texts) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con texto que sea igual a cualquiera de los valores de texto especificados. |
whenTextNotEqualTo(text) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con texto que no sea igual al texto especificado. |
whenTextNotEqualToAny(texts) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar celdas con texto que no sea igual a ninguno de los valores especificados. |
whenTextStartsWith(text) | FilterCriteriaBuilder | Establece los criterios de filtro para mostrar las celdas con texto que comienza con el texto especificado. |
withCriteria(criteria, args) | FilterCriteriaBuilder | Establece 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.
- Para obtener los argumentos de los criterios, usa
getCriteriaValues()
. - Para usar el tipo de criterios y los valores de criterios para crear o modificar criterios de filtro, consulta
withCriteria(criteria, args)
.
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étodowhen...()
correspondiente de la claseFilterCriteriaBuilder
.
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
Nombre | Tipo | Descripción |
---|---|---|
values | String[] | 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
Nombre | Tipo | Descripción |
---|---|---|
visibleBackgroundColor | Color | Es 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
Nombre | Tipo | Descripción |
---|---|---|
visibleForegroundColor | Color | Es 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
Nombre | Tipo | Descripción |
---|---|---|
values | String[] | 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 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 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
Nombre | Tipo | Descripción |
---|---|---|
date | Date | Es 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 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 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
Nombre | Tipo | Descripción |
---|---|---|
date | RelativeDate | Es 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
Nombre | Tipo | Descripción |
---|---|---|
date | Date | Es 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 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 today's date // and sets it to column A. const criteria = SpreadsheetApp.newFilterCriteria() .whenDateBefore(SpreadsheetApp.RelativeDate.TODAY) .build(); filter.setColumnFilterCriteria(1, criteria);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
date | RelativeDate | Es 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 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 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
Nombre | Tipo | Descripción |
---|---|---|
date | Date | Es 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 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 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
Nombre | Tipo | Descripción |
---|---|---|
date | RelativeDate | Es 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
Nombre | Tipo | Descripción |
---|---|---|
dates | Date[] | 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
Nombre | Tipo | Descripción |
---|---|---|
date | Date | La 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
Nombre | Tipo | Descripción |
---|---|---|
dates | Date[] | 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
Nombre | Tipo | Descripción |
---|---|---|
formula | String | Una 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
Nombre | Tipo | Descripción |
---|---|---|
start | Number | Es el número más bajo que se mostrará. |
end | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
numbers | Number[] | 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | El 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
start | Number | Se oculta el número más bajo. |
end | Number | Es 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
Nombre | Tipo | Descripción |
---|---|---|
number | Number | El 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
Nombre | Tipo | Descripción |
---|---|---|
numbers | Number[] | 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
texts | String[] | 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
texts | String[] | 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
Nombre | Tipo | Descripción |
---|---|---|
text | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
criteria | BooleanCriteria | Es el tipo de criterio booleano. |
args | Object[] | 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.