Wenn Sie eine Quelltabelle mit dem Namen "datatable" haben, fügen Sie diese Formel auf einem zusätzlichen Blatt in jede Zelle ein (wo die gedruckten Daten erscheinen sollen):
=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))
( Wird das Obige von Deutsch in Englisch übersetzt Die getestete Deutsch Formel: ist. =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3))
)
erwartetes Ergebnis:
Dadurch wird der Inhalt des Blattes "datierbar" transformiert:
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
A6 B6 C6
...
in:
A1 B1 C1 A5 B5 C5 ...
A2 B2 C2 A6 B6 C6 ...
A3 B3 C3 ...
A4 B4 C4 ...
Erläuterung:
Grundlagen:
Beispiel: OFFSET( datatable!$A$2; 3; 4 )
Verweist auf die Zelle relativ zu $A$2
3 Zeilen nach unten und 4 Spalten nach rechts.
ROW()
und COLUMN()
sind Zahlen, die die Position der aktuellen Zelle im aktuellen Blatt darstellen (z. B. $A$1
= Spalte 1 / Zeile 1, $C$2
= Spalte 3 / Zeile 2).
Das (-1)
Überall ist notwendig, weil wir Offsets verwenden und die erste Zeile und Spalte 1 ist, aber wir möchten, dass die erste Zelle, auf die verwiesen wird $A$2
, nicht $A$2
plus Offset 1 ist.
Das (ROW()-2)
ist für eine Überschrift in der Ausgabe- / Drucktabelle (Es sollte -1 sein, wenn Sie keine Überschrift haben).
$A$2
steht für eine Überschrift in der Quelle "datatable". Ohne Überschrift sollte mit $A$1
(anstelle von $A$2
) verwiesen werden .
Einzelheiten:
Der dritte Parameter OFFSET(...;...;MOD(COLUMN()-1;3))
ist der Spaltenversatz . Er verweist immer auf eine der ersten drei Spalten der Quelle "datierbar".
Das ist $A$2
plus Spaltenversatz 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
Im 2. Parameter OFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)
wird der Zeilenversatz ausgewählt .
Grundsätzlich lautet die Mathematik hier y + x * 4.
4 ist die Anzahl der Zeilen, die Sie anzeigen möchten.
3 ist die Anzahl der Spalten in der Quelle "datierbar".
Das x besteht aus der Spalte und Modulo 3.
COLUMN()-1
ist 0, 1, 2, 3, ... und so weiter.
MOD(COLUMN()-1;3)
wird 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
COLUMN()-1-MOD(COLUMN()-1;3)
wird 0, 3, 6, 9, ... sein und so weiter, wobei sich der Wert nur in jeder dritten Spalte ändert.
Division durch 3 ergibt 0, 1, 2, 3, ...
Multiplikation mit 4 ergibt 0, 4, 8, 12, ...
(Erläuterungen zu Modulo finden Sie auch MOD()
in der Excel-Hilfe oder in der Modulo-Operation in Wikipedia. )
(Danke an Jake Kacher für die Grundidee)
Der einfachste Weg, den ich gefunden habe, bestand darin, ein neues Arbeitsblatt zu erstellen und die Tabelle einfach manuell neu zu erstellen, indem ich sie in separate Spalten aufteilte.
zB A1
=Sheet1!A1
B1
=Sheet1!B1
C1
=Sheet1!C1
D1 leer (für eine Teilerspalte)
dann E1
=Sheet1!E51
F1
=Sheet1!B51
G1
=Sheet1!C51
Und kopieren Sie diese über 50 Zeilen. Dadurch wird aus einer 100-Zeilen-Tabelle mit einer Spalte eine 50-Zeilen-Tabelle mit 2 Spalten. Passen Sie es Ihren Bedürfnissen an.
Dies ist natürlich manuell und hängt davon ab, dass die Zeilenanzahl gleich bleibt. Es wäre nicht schwierig, die Anzahl der erforderlichen Zeilen dynamisch aus der Anzahl der Zeilen in der Originaltabelle und der Anzahl der gewünschten Spalten zu berechnen. Das einzige Problem besteht darin, dass die ursprüngliche Tabelle über das hinausgeht, was auf eine einzelne Seite passt, wenn sie auf dem neuen Blatt in Spalten unterteilt wird.
quelle
Wenn Sie über Adobe Indesign verfügen, können Sie eine Excel-Datei darin platzieren und dieses Layout problemlos erstellen.
quelle