En este documento, se explica cómo usar filtros para ordenar y filtrar los datos que se muestran en una hoja de cálculo.
Los filtros te permiten ordenar y filtrar los datos que ves cuando consultas una hoja de cálculo. Los filtros no cambian los valores de datos en tu hoja de cálculo. Puedes usar filtros para ocultar o ordenar información de forma temporal. Los datos que coinciden con los criterios de filtro especificados no aparecen mientras el filtro está activado. Con las vistas de filtro, también puedes guardar diferentes filtros con nombre y cambiar entre ellos cuando quieras.
Para filtrar los datos que se muestran en una solicitud de la API de Hojas de cálculo de Google, usa el
DataFilter objeto. Para obtener más información, consulta Cómo leer, escribir y buscar
metadatos.
Casos de uso de filtros
A continuación, se incluyen algunos ejemplos de casos de uso de filtros:
- Ordenar datos por una columna en particular (p. ej., ordenar los registros de usuarios por apellido )
- Ocultar datos que cumplan con una condición específica (p. ej., ocultar todos los registros de más de dos años)
- Ocultar datos que coincidan con un valor determinado (p. ej., ocultar todos los problemas con el estado "cerrado")
Filtro básico
El
BasicFilter
objeto de una hoja de cálculo es el filtro predeterminado que se aplica cada vez que alguien
consulta la hoja de cálculo. Una hoja de cálculo puede tener solo un filtro básico por
hoja. Para desactivar el filtro básico
, bórralo. Esto quita el filtro y toda su configuración de la
hoja de cálculo. Si quieres volver a activar el mismo filtro, debes volver a establecer los
criterios.
Administra el filtro básico
Para establecer o borrar el filtro básico, usa el
spreadsheets.batchUpdate
método con el tipo de solicitud adecuado:
- Para establecer el filtro básico, usa el
SetBasicFilterRequestmétodo. - Para borrar el filtro básico, usa el
ClearBasicFilterRequestmétodo.
Para enumerar el filtro básico, usa el
spreadsheets.get
método y establece el fields parámetro de URL en sheets/basicFilter. En el siguiente
spreadsheets.get ejemplo de código, se muestra una URL de Hojas de cálculo de Google con una máscara
de campo:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Vistas de filtro
A
FilterView
es un filtro con nombre que puedes activar y desactivar cuando quieras. Una hoja puede
tener varias vistas de filtro guardadas, pero solo puedes aplicar una a la vez. Una hoja
también puede contener un filtro básico y varias vistas de filtro, pero no puedes
aplicar ambos simultáneamente en el mismo rango de datos.
Casos de uso de vistas de filtro
A continuación, se incluyen algunos ejemplos de casos de uso de vistas de filtro:
- Tienes varios filtros diferentes entre los que quieres cambiar cuando ves los datos.
- No tienes acceso de edición a una hoja de cálculo, pero quieres aplicar un filtro. En este caso, puedes crear una vista de filtro temporal que solo sea visible para ti.
Quieres que cada persona con la que compartes tu hoja de cálculo vea los datos de manera diferente. Para especificar la vista de filtro que quieres aplicar, proporciona el
spreadsheetIdyfilterViewIden la URL de la hoja de cálculo. Para ello, usa elfilterViewIdque se muestra en la respuesta cuando creas la vista de filtro.En el siguiente ejemplo de código, se muestra una URL de Hojas de cálculo con una vista de filtro:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Administra vistas de filtro
Para crear, duplicar, modificar o borrar vistas de filtro, usa el
spreadsheets.batchUpdate
método con el tipo de solicitud adecuado:
- Para crear una vista de filtro, usa el
AddFilterViewRequestmétodo. - Para hacer una copia de una vista de filtro, usa el
DuplicateFilterViewRequestmétodo. - Para modificar las propiedades de una vista de filtro, usa el
UpdateFilterViewRequestmétodo. - Para borrar una vista de filtro, usa el
DeleteFilterViewRequestmétodo.
Para enumerar todas tus vistas de filtro, usa el
spreadsheets.get
método y establece el fields parámetro de URL en sheets/filterViews. En el siguiente ejemplo de código de
spreadsheets.get, se muestra una URL de Hojas de cálculo con una máscara de campo:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
Representación JSON de un filtro
En el siguiente ejemplo de código, se muestra la representación JSON de un
FilterView
objeto. El
BasicFilter
objeto es el mismo, excepto que no tiene los campos filterViewId y title,
y no puede usar un rango con nombre.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Datos de ventas de muestra
En el resto de este documento, se hace referencia a la siguiente tabla de datos de ventas de muestra:
| A | B | C | D | E | F | G | |
| 1 | Item Category | Número de modelo | Costo | Cantidad | Región | Vendedor | Fecha de envío |
| 2 | Rueda de la fortuna | W-24 | USD 20.50 | 4 | Oeste | Beth | 1/3/2016 |
| 3 | Puerta | D-01X | USD 15.00 | 2 | Sur | Amir | 15/3/2016 |
| 4 | Marco | FR-0B1 | USD 34.00 | 8 | Este | Hannah | 12/3/2016 |
| 5 | Panel | P-034 | USD 6.00 | 4 | Norte | Devyn | 15/3/2016 |
| 6 | Panel | P-052 | USD 11.50 | 7 | Este | Erik | 16/5/2016 |
| 7 | Rueda de la fortuna | W-24 | USD 20.50 | 11 | Sur | Sheldon | 30/4/2016 |
| 8 | Motor | ENG-0161 | USD 330.00 | 2 | Norte | Jessie | 2/7/2016 |
Especificaciones de orden
Un filtro puede tener varias especificaciones de orden. Estas especificaciones determinan
cómo ordenar los datos y se aplican en el orden especificado. El atributo especifica el índice de columna al que se debe aplicar la ordenación.SortSpec.dimensionIndex
En el siguiente ejemplo de código, se muestra una especificación de orden:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Cuando se aplica a los datos de ventas de muestra, esta especificación ordena primero por la columna "Cantidad" y, luego, si dos filas tienen la misma cantidad, por "Fecha de envío".
| A | B | C | D | E | F | G | |
| 1 | Item Category | Número de modelo | Costo | Cantidad | Región | Vendedor | Fecha de envío |
| 2 | Puerta | D-01X | USD 15.00 | 2 | Sur | Amir | 15/3/2016 |
| 3 | Motor | ENG-0161 | USD 330.00 | 2 | Norte | Jessie | 2/7/2016 |
| 4 | Rueda de la fortuna | W-24 | USD 20.50 | 4 | Oeste | Beth | 1/3/2016 |
| 5 | Panel | P-034 | USD 6.00 | 4 | Norte | Devyn | 15/3/2016 |
| 6 | Panel | P-052 | USD 11.50 | 7 | Este | Erik | 16/5/2016 |
| 7 | Marco | FR-0B1 | USD 34.00 | 8 | Este | Hannah | 12/3/2016 |
| 8 | Rueda de la fortuna | W-24 | USD 20.50 | 11 | Sur | Sheldon | 30/4/2016 |
Criterios de filtro
El
FilterCriteria
objeto determina qué datos de la hoja de cálculo se muestran o se ocultan en un filtro básico o
vista de filtro. Cada criterio depende de los valores de una columna específica. Proporcionas los criterios de filtro como un mapa en el que las claves son los índices de columna y
los valores son los criterios.
Para los criterios especificados con una booleana
condition,
la condición debe ser true para que se muestren los valores. La condición no
anula
hiddenValues.
Si un valor aparece en hiddenValues, todas las coincidencias de un valor aún están
ocultas.
En el siguiente ejemplo de código, se muestra un mapa de criterios de filtro:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Cuando se aplica a los datos de ventas de muestra, este criterio solo muestra las filas en las que el valor de la columna "Item Category" no es "Panel" y en las que el valor de la columna "Fecha de envío" es anterior al "30 de abril de 2016".
| A | B | C | D | E | F | G | |
| 1 | Item Category | Número de modelo | Costo | Cantidad | Región | Vendedor | Fecha de envío |
| 2 | Rueda de la fortuna | W-24 | USD 20.50 | 4 | Oeste | Beth | 1/3/2016 |
| 3 | Puerta | D-01X | USD 15.00 | 2 | Sur | Amir | 15/3/2016 |
| 4 | Marco | FR-0B1 | USD 34.00 | 8 | Este | Hannah | 12/3/2016 |
Ejemplo de código de vista de filtro
En el siguiente ejemplo de código, se muestra cómo crear una vista de filtro, duplicarla y luego, actualizar la versión duplicada con los datos de ventas de muestra.
Java
Python
Temas relacionados
- Cómo aplicar filtros a tus datos de Hojas de cálculo de Google
- Cómo leer, escribir y buscar metadatos