En este tutorial vamos a aprender a convertir una tabla dinámica en una tabla desagregada usando Google Sheets. Esto es súper útil cuando tenemos datos resumidos y queremos volver a verlos en su forma original, con cada fila representando un dato individual. Así podemos manipularlos con mayor facilidad, hacer filtros, análisis o crear nuevas tablas dinámicas más flexibles. Además, te mostraré cómo construir las fórmulas paso a paso para que puedas escalar este método a tablas más grandes sin perder tiempo ni hacer procesos manuales tediosos.
Para comenzar, vamos a partir de un ejemplo sencillo con datos agrupados: tenemos países en las filas, meses en las columnas y las ventas como valores. La idea es transformar esta tabla resumida en una lista desagregada donde cada fila tenga un país, un mes y las ventas correspondientes. Esto facilita mucho el trabajo, sobre todo para hacer filtros o análisis personalizados.
Paso 1: Entender la estructura inicial y el objetivo
Imagina esta tabla simple con tres países y tres meses, con las ventas en las celdas:
| País | Abril | Agosto | Diciembre |
|---|---|---|---|
| Argentina | 10 | 15 | 20 |
| Brasil | 8 | 12 | 18 |
| Chile | 5 | 7 | 10 |
Queremos convertirla a un formato desagregado así:
| País | Mes | Ventas |
|---|---|---|
| Argentina | Abril | 10 |
| Argentina | Agosto | 15 |
| Argentina | Diciembre | 20 |
| Brasil | Abril | 8 |
| Brasil | Agosto | 12 |
| Brasil | Diciembre | 18 |
| Chile | Abril | 5 |
| Chile | Agosto | 7 |
| Chile | Diciembre | 10 |
Paso 2: Construcción manual para entender el patrón
Primero lo hacemos manual para entender la lógica: tomamos cada país y repetimos los meses con sus ventas correspondientes. Por ejemplo, para Argentina:
| Argentina | Abril | 10 |
| Argentina | Agosto | 15 |
| Argentina | Diciembre | 20 |
Y así para cada país. Esto es rápido para pocos datos, pero se vuelve inviable para tablas grandes, porque la cantidad de filas crece mucho y el trabajo manual se multiplica.
Paso 3: Usar la función INDICE para extraer datos dinámicamente
Para automatizar, usamos la función INDICE. Esta función nos permite seleccionar un valor dentro de una matriz a partir de una fila y columna específicas. Por ejemplo:
=INDICE(A1:D4; 1; 1)
Esto devolverá el valor en la fila 1, columna 1 del rango A1:D4. En nuestro caso, la matriz sería la tabla completa con países, meses y ventas.
Para obtener el país de la primera fila desagregada, usaríamos:
=INDICE(A2:A4; fila_dinámica)
Donde fila_dinámica será un número que cambia para recorrer los países.
Para obtener el mes, usamos INDICE sobre la fila 1 (encabezados de meses) y una columna dinámica:
=INDICE(B1:D1; columna_dinámica)
Finalmente, para obtener las ventas, usamos INDICE sobre la matriz de datos (sin encabezados), con fila y columna dinámicas:
=INDICE(B2:D4; fila_dinámica; columna_dinámica)
Paso 4: Crear secuencias para filas y columnas dinámicas con SECUENCIA
Para que las filas y columnas cambien automáticamente al arrastrar la fórmula, usamos la función SECUENCIA. Esta función genera una matriz de números consecutivos que nos servirán para recorrer filas y columnas.
Por ejemplo, para generar números del 1 al 3 en una columna:
=SECUENCIA(3; 1; 1; 1)
Esto produce:
| 1 |
| 2 |
| 3 |
Para nuestro caso, necesitamos generar secuencias que se repitan para los países y los meses, para así recorrer todas las combinaciones. Esto se puede hacer combinando SECUENCIA con funciones como ENTERO o MOD para repetir o incrementar los valores adecuadamente.
Paso 5: Fórmula completa para desagregar la tabla dinámica
La fórmula completa combina INDICE y SECUENCIA para generar las filas desagregadas automáticamente. La estructura general es:
=INDICE(paises; ENTERO((SECUENCIA(total_filas)-1)/num_meses)+1)
=INDICE(meses; MOD(SECUENCIA(total_filas)-1; num_meses)+1)
=INDICE(datos; ENTERO((SECUENCIA(total_filas)-1)/num_meses)+1; MOD(SECUENCIA(total_filas)-1; num_meses)+1)
Donde:
- paises: rango con los países (por ejemplo, A2:A4)
- meses: rango con los meses (por ejemplo, B1:D1)
- datos: rango con las ventas (por ejemplo, B2:D4)
- num_meses: número de meses (columnas de datos)
- total_filas: total de filas que tendrá la tabla desagregada (número de países × número de meses)
Con esta fórmula, al arrastrar o expandir, se generan automáticamente todas las combinaciones de país, mes y ventas, sin necesidad de copiar y pegar manualmente.
Conclusión
En resumen, convertir una tabla dinámica en una tabla desagregada en Google Sheets es posible y bastante sencillo usando la función INDICE combinada con SECUENCIA. Primero entendemos el patrón de cómo se distribuyen los datos, luego creamos las fórmulas para extraer país, mes y ventas dinámicamente, y finalmente usamos secuencias para automatizar el proceso y hacerlo escalable para tablas grandes. Así evitamos el tedioso trabajo manual y podemos manipular los datos de forma mucho más flexible.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.