Usa esta clase para modificar los filtros existentes en las hojas Grid
, el tipo predeterminado de
de la hoja de cálculo. Las hojas de cuadrícula son hojas normales con datos que no están conectados a una base de datos.
Si aún no existe un filtro en la hoja, crea uno con Range.createFilter()
.
Para usar esta clase, primero debes acceder al filtro de la hoja de cuadrícula con Range.getFilter()
o Sheet.getFilter()
.
Usos comunes
Cómo quitar un filtro
En el siguiente ejemplo, se obtiene el filtro de la hoja activa y se quita.let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
Obtener el rango al que se aplica el filtro
En el siguiente ejemplo, se obtiene el filtro en la hoja activa y, luego, se usa el métodogetRange()
de
esta clase para registrar el rango al que se aplica el filtro.
let ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
getColumnFilterCriteria(columnPosition) | FilterCriteria | Obtiene los criterios de filtro en la columna especificada o null si la columna no tiene
los criterios de filtro que se le aplicaron. |
getRange() | Range | Obtiene el rango al que se aplica este filtro. |
remove() | void | Quita este filtro. |
removeColumnFilterCriteria(columnPosition) | Filter | Quita los criterios de filtro de la columna especificada. |
setColumnFilterCriteria(columnPosition, filterCriteria) | Filter | Establece los criterios de filtro en la columna especificada. |
sort(columnPosition, ascending) | Filter | Ordena el rango filtrado por la columna especificada, excluyendo la primera fila (la fila de encabezado) de el rango al que se aplica este filtro. |
Documentación detallada
getColumnFilterCriteria(columnPosition)
Obtiene los criterios de filtro en la columna especificada o null
si la columna no tiene
los criterios de filtro que se le aplicaron.
Para obtener más detalles sobre los criterios de filtrado, encadena este método con métodos del
Clase FilterCriteria
.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
columnPosition | Integer | La posición 1 indexada de la columna. Por ejemplo, el índice de la columna B es 2. |
Volver
FilterCriteria
: los criterios del filtro.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Obtiene el rango al que se aplica este filtro.
// Gets the existing filter on the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
Volver
Range
: Es el rango del filtro. Para obtener el rango en notación A1, encadena este método con Range.getA1Notation()
.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Quita este filtro.
// Removes the filter from the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.remove();
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeColumnFilterCriteria(columnPosition)
Quita los criterios de filtro de la columna especificada.
// Removes the filter criteria from column B. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
columnPosition | Integer | La posición 1 indexada de la columna. Por ejemplo, el índice de la columna B es 2. |
Volver
Filter
: Es el filtro para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnFilterCriteria(columnPosition, filterCriteria)
Establece los criterios de filtro en la columna especificada. Primero, crea el compilador de criterios de filtro
usando SpreadsheetApp.newFilterCriteria()
. Luego, agrega los criterios al compilador.
con la clase FilterCriteriaBuilder
Después de que hayas creado tus criterios, configúralos como el
Es el parámetro filterCriteria
para este método.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Builds the filter criteria to use as a parameter for setColumnFilterCriteria. const criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(["Hello", "World"]) .build(); // Sets the filter criteria for column C. filter.setColumnFilterCriteria(3, criteria);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
columnPosition | Integer | La posición 1 indexada de la columna. Por ejemplo, el índice de la columna B es 2. |
filterCriteria | FilterCriteria | Los criterios de filtro que se establecerán. Si estableces los criterios en null ,
quita los criterios de filtro de la columna especificada. También puedes usar removeColumnFilterCriteria(columnPosition) . |
Volver
Filter
: Es el filtro para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sort(columnPosition, ascending)
Ordena el rango filtrado por la columna especificada, excluyendo la primera fila (la fila de encabezado) de el rango al que se aplica este filtro.
// Gets the existing filter and sorts it by column B in ascending order. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.sort(2, true);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
columnPosition | Integer | La posición 1 indexada de la columna. Por ejemplo, el índice de la columna B es 2. |
ascending | Boolean | Si es true , ordena el rango filtrado de forma ascendente. si es false , ordena el rango filtrado de forma descendente. |
Volver
Filter
: Es el filtro para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets