Si tiene una tabla fuente llamada "tabla de datos", coloque esta fórmula en una hoja adicional en cada celda (donde deberían aparecer los datos impresos):
=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))
( Lo anterior se traduce del alemán al Inglés La fórmula alemán probado es:. =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3))
)
Resultado Esperado:
Esto transformará el contenido de la hoja "tabla de datos":
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
A6 B6 C6
...
dentro:
A1 B1 C1 A5 B5 C5 ...
A2 B2 C2 A6 B6 C6 ...
A3 B3 C3 ...
A4 B4 C4 ...
Explicación:
Lo esencial:
Por ejemplo, hace OFFSET( datatable!$A$2; 3; 4 )
referencia a la celda en relación con $A$2
, 3 filas hacia abajo, 4 columnas a la derecha.
ROW()
y COLUMN()
son números, que representan la posición de la celda actual en la hoja actual (por ejemplo, $A$1
= columna 1 / fila 1, $C$2
= columna 3 / fila 2).
(-1)
Todo el mundo es necesario porque estamos usando desplazamientos, y la primera fila y columna es 1, pero queremos que la primera celda referenciada sea $A$2
, no $A$2
más el desplazamiento 1.
El (ROW()-2)
es para un título en la tabla de salida / impresión (Debería ser -1 si no tiene un título).
$A$2
es para un título en la fuente "tabla de datos". Sin título, debe ser referenciado con $A$1
(en lugar de $A$2
).
Detalles:
El tercer parámetro OFFSET(...;...;MOD(COLUMN()-1;3))
es el desplazamiento de la columna , siempre hará referencia a una de las primeras 3 columnas de la "tabla de datos" de origen.
Es decir $A$2
, desplazamiento de columna más 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
En el segundo parámetro OFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)
selecciona el desplazamiento de la fila .
Básicamente, la matemática aquí es y + x * 4.
4 es el número de filas que desea mostrar.
3 es el número de columnas en la fuente "tabla de datos".
La x está hecha de la columna y el módulo 3.
COLUMN()-1
es 0, 1, 2, 3, ... y así sucesivamente.
MOD(COLUMN()-1;3)
será 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
COLUMN()-1-MOD(COLUMN()-1;3)
será 0, 3, 6, 9, ... y así sucesivamente, donde el valor cambia solo cada 3ª columna.
La división por 3 dará como resultado 0, 1, 2, 3, ... La
multiplicación por 4 dará como resultado 0, 4, 8, 12, ...
(Para obtener una explicación sobre el módulo , consulte también MOD()
la ayuda de Excel o la operación del módulo en wikipedia )
(Gracias a Jake Kacher, por la idea básica)
La forma más fácil que encontré fue crear una nueva hoja de trabajo y simplemente recrear la tabla separándola manualmente en columnas separadas.
por ejemplo, A1
=Sheet1!A1
B1
=Sheet1!B1
C1
=Sheet1!C1
D1 en blanco (para una columna divisoria)
entonces E1
=Sheet1!E51
F1
=Sheet1!B51
G1
=Sheet1!C51
Y copie esto en más de 50 filas. Esto convierte una tabla de una columna de 100 filas en una tabla de 2 columnas de 50 filas. Ajústese a sus necesidades.
Por supuesto, esto es manual y depende de que el recuento de filas permanezca igual. No sería difícil calcular dinámicamente la cantidad de filas requeridas a partir de la cantidad de filas en la tabla original y la cantidad de columnas que desea. El único problema es si la tabla original se expande más allá de lo que cabe en una sola página cuando se separa en columnas en la nueva hoja.
fuente
Si tiene Adobe Indesign, puede colocar un archivo de Excel en él y hacer este diseño con facilidad.
fuente