MAGUU

Cargando

De datos en una columna a tabla
  • Ene, Vie, 2021

De datos en una columna a tabla

¿Cómo organizar los datos de una columna en una tabla?

Tenemos los datos de una serie de productos apilados en una columna y queremos organizar esos datos en una tabla.

datos apilados en columna
datos apilados en columna

Observamos que hay cuatro tipos de datos que se corresponden con varios campos distintos y que se van repitiendo hacia abajo.

cuatro tipos de datos en columna
los cuatro tipos de datos

Queremos una tabla que presente los datos en campos.

tabla de datos organizados en campos
tabla de datos organizados en campos

La tabla tendrá una fila de encabezados para los campos.

encabezados de los campos
encabezados de los campos

Cada celda de la tabla tiene que albergar el valor que le corresponda de la columna de datos. Para conseguirlo vamos a utilizar una técnica que usa la función INDICE.

La función INDICE nos devuelve el valor de una celda dentro de una matriz o tabla, según el número de fila que la celda ocupa dentro de la matriz. En la versión matricial de esta función, son argumentos obligatorios la matriz (o tabla) y el número de fila.

INDICE(matriz; núm_fila; [núm_columna])

Esta técnica completará las celdas de la tabla con los valores de las celdas de la columna de datos. La técnica consiste en emparejar las celdas de la columna de datos con las celdas que les correspondan en la tabla mediante indicadores. Estos indicadores los conseguimos combinando las funciones FILAS y COLUMNAS, que usaremos como argumento para el número de fila de la función INDICE.

La técnica

La función INDICE devuelve el valor de una celda dentro de una matriz, siempre que sepamos en qué fila está dicha celda.

De los dos argumentos obligatorios para usar la función INDICE, ahora mismo tenemos la matriz, que es el rango de celdas que contiene los valores en la columna de datos. Nos hace falta saber en qué fila está cada celda de la columna de datos. Pero la columna de datos puede estar colocada en cualquier lugar de la hoja de cálculo así que tenemos que asegurarnos una manera exacta para saber en qué fila está cada celda de la columna de datos.

Paso 1: indicadores numéricos para la matriz

Supongamos que cada celda de la columna de datos tuviese un identificador numérico; la primera celda sería el 1, la siguiente celda sería el número 2 y así sucesivamente hasta el final de la columna de datos.

indicadores numéricos para la columna de datos
indicadores numéricos para la columna de datos

Paso 2: indicadores numéricos para la tabla

Consideraremos la tabla como una cuadrícula.

tabla como cuadrícula
tabla como cuadrícula

Cada celda de la cuadrícula tendrá su indicador numérico. Este nos permitirá emparejar las celdas de la columna de datos con su correspondiente lugar en la cuadrícula. Así, el valor de la celda número 1 de la columna de datos irá a la celda número 1 de la tabla y después el siguiente valor hasta llegar al final de la columna.

indicadores numéricos para la cuadrícula
indicadores numéricos para la cuadrícula

El indicador numérico para cada celda de la cuadrícula lo obtendremos mediante una fórmula que combina las funciones COLUMNAS y FILAS.

fórmula indicadores para la tabla
fórmula indicadores para la tabla

Paso 3: conseguimos el número de columna en la tabla

La función COLUMNAS nos devuelve el número de columnas de una matriz o de una referencia.

COLUMNAS(matriz)

El número de columna nos servirá para recorrer la tabla en sentido vertical. Nos situamos en la celda D3 (primera celda de la tabla a donde queremos llevar el primer valor de la columna de datos) y escribimos esta función:

función COLUMNAS
función COLUMNAS

Como queremos saber el número de columna de la primera celda de la cuadrícula (D3), la matriz que necesitamos para usar la función COLUMNAS será exclusivamente la propia celda D3. Cuando extendamos la selección al resto de columnas y filas, Excel tomará como referencia la columna D. Será la columna número 1 de la cuadrícula. Lo conseguimos usando una referencia mixta a la columna D (el símbolo dólar delante de la primera D).

Aplicamos y extendemos la selección al resto de columnas y conseguimos este resultado:

indicador para cada columna
indicador para cada columna

Ya tenemos un número para cada columna la tabla. Al extender la selección hacia abajo, aparece el valor de la columna a la que pertenece cada celda:

celdas con su indicador de columna
celdas con su indicador de columna

Paso 4: conseguimos el número de fila en la tabla

La función FILAS nos devuelve el número de filas de una matriz o de una referencia.

FILAS(matriz)

El número de fila nos servirá para recorrer la tabla en sentido horizontal. Igual que para las columnas, nos situamos en la celda D3 y escribimos esat función:

función FILAS
función FILAS

Queremos saber el número de fila de la primera celda de la cuadrícula (D3), por lo tanto la matriz que necesitamos para usar la función FILAS será exclusivamente la propia celda D3. Cuando extendamos la selección al resto de columnas y filas, Excel tomará como referencia la fila 3. Será lafila número 1 de la cuadrícula. Lo conseguimos usando una referencia mixta a la fila 3 (el símbolo dólar delante del primer 3).

Aplicamos y extendemos la selección al resto de columnas y conseguimos:

indicador para cada fila
indicador para cada fila

Ya tenemos un número para cada fila de la tabla. Cuando extendemos la selección hacia abajo, aparece el valor de cada fila en las celdas:

celdas con su indicador de fila
celdas con su indicador de fila

Paso 5: conseguimos un único número para cada celda de la tabla

Los resultados de las funciones COLUMNAS y FILAS utilizados por separado son inútiles. Son un par de valores que no identifican de manera única cada celda. Sin embargo, si los sumamos conseguimos un valor más cercano a lo que pretendemos.

fórmula que suma los indicadores de columna y fila
fórmula que suma los indicadores de columna y fila

La fórmula proporciona estos resultados en las celdas:

resultados de la fórmula para la primera fila
resultados de la fórmula para la primera fila

Es decir, cada celda es el resultado de esta operación:

origen de los valores de las celdas
origen de los valores de las celdas

Extendemos la selección a toda la cuadrícula y conseguimos:

valores para la cuadrícula
valores para la cuadrícula

Fijándonos en los resultados, comprobamos que si restamos uno al valor de la fila, conseguimos la sucesión numérica que queremos para la primera fila: 1, 2, 3, 4. Ajustamos la fórmula restando 1 a la función FILAS.

primer ajuste a la fórmula
primer ajuste a la fórmula

y conseguimos la sucesión numérica que queremos para la primera fila:

valores de la fila ajustados
valores de la fila ajustados

Para el resto de celdas de la tabla conseguimos este resultado:

cuadrícula ajustada
cuadrícula ajustada

Tras este ajuste, para el valor de la función FILAS hemos conseguido esta serie numérica: 0, 1, 2 … 13 y 14. Como son cuatro los campos, la serie numérica tiene que ser múltiplo de 4, es decir, tenemos que ajustar de nuevo la fórmula mulitplicando el valor de (FILAS1) por 4.

segundo ajuste a la fórmula
segundo ajuste a la fórmula

Como el valor de la función COLUMNAS no ha cambiado (1, 2, 3, 4), la fórmula va a operar con estos valores en cada celda:

origen de los valores ajustados de las celdas
origen de los valores ajustados de las celdas

El resultado es este:

valores ajustados de la cuadícula
valores ajustados de la cuadícula

Acabamos de conseguir el valor de fila que necesitamos en cada celda para la función INDICE.

Paso 6: usamos la función INDICE

El primer argumento de la función INDICE (matriz) es la columna de datos como referencia absoluta:

matriz de la función INDICE
matriz de la función INDICE

El segundo argumento, número de fila, es el resultado de la fórmula que hemos construido en el paso anterior:

fórmula INDICE completada
fórmula INDICE completada

El resultado para la primera fila:

resultado primera fila
resultado primera fila tabla

Extendemos la selección a toda la tabla:

tabla con los valores de la columna de datos
tabla con los valores de la columna de datos

Hemos transferido correctamente los datos apilados de una columna a una tabla, ordenándolos por campos.