
Estoy seguro de que es más fácil de lo que creo.
Tengo varias listas verticales. Por ejemplo:
Artículo 1
Artículo 2
Artículo 3
Artículo 4
Punto 1.1
Punto 2.1
Punto 3.1
Punto 4.1
Punto 1.2
Punto 2.2
Punto 3.2
Punto 4.2
Quiero poner estos elementos en una lista horizontal como la siguiente
Artículo 1 | Artículo 2 | Artículo 3 | Artículo 4 |
---|---|---|---|
Punto 1.1 | Punto 2.1 | Punto 3.1 | Punto 4.1 |
Punto 1.2 | Punto 2.2 | Punto 3.2 | Punto 4.2 |
Respuesta1
Respuesta2
Asignemos un "nuevo número de fila" a cada elemento. Si sabemos que tenemos cuatro elementos en cada lista, entonces:
=QUOTIENT(ROW()-1,4)+1
Podemos filtrar los datos originales usando el nuevo número de fila, así:
=TRANSPOSE(FILTER($A$1:$A$12,$B$1:$B$12=ROW()))
En la fila 1, FILA()=1. Este FILTRO luego devuelve los primeros cuatro valores de la columna A. Luego usamos TRANSPONER para girarlos horizontalmente. Arrastrando la fórmula hacia las filas 2 y 3, obtenemos el resto de los datos:
Si lo prefieres, puedes omitir el primer paso y usar este en su lugar:
=TRANSPOSE(FILTER($A$1:$A$12,QUOTIENT(ROW($A$1:$A$12)-1,4)+1=ROW()))
Respuesta3
Supongo que sus datos son regulares (ordenados) y completos, sin elementos omitidos. Básicamente, tiene una matriz Tx1 para incluir en una tabla anxm donde nxm = T.
Usaremos la posición en nuestra tabla (FILA, COLUMNA) como índice en la matriz. Supongamos que la matriz está en la columna A de la hoja 1 y la nueva tabla está en la hoja 2. Entonces A1 en la hoja 2 es:
=INDEX(SHEET1!$A:$A, COLUMN()+(ROW()-1)*m)
Donde m debe reemplazarse con el número de columnas a ajustar (4 en su ejemplo).