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$23 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$2plus 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$2steht 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$2plus 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()-1ist 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)