Se hai una tabella di origine chiamata "datatable", inserisci questa formula su un foglio aggiuntivo in ogni cella (dove dovrebbero apparire i dati stampati):
=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))
( Quanto sopra si traduce dal tedesco in inglese tedesco Formula testata è:. =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3)) )
Risultato atteso:
Ciò trasformerà il contenuto del foglio "datatable":
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 ...
Spiegazione:
Nozioni di base:
ad es. fa OFFSET( datatable!$A$2; 3; 4 )riferimento alla cella relativa a $A$2, 3 righe in basso, 4 colonne a destra.
ROW()e COLUMN()sono numeri che rappresentano la posizione della cella corrente nel foglio corrente (ad es. $A$1= colonna 1 / riga 1, $C$2= colonna 3 / riga 2).
Le (-1)dovunque sono necessarie perché stiamo usando gli offset, e la prima riga e colonna è 1, ma vogliamo che sia la prima cella di riferimento $A$2, non $A$2più l'offset 1.
Il (ROW()-2)è per un titolo in / print-tavolo output-(E shold essere -1 se non si dispone di un titolo).
$A$2è per un titolo nell'origine "datatable". Senza titolo dovrebbe essere referenziato con $A$1(anziché $A$2).
Dettagli:
Il terzo parametro OFFSET(...;...;MOD(COLUMN()-1;3))è l' offset della colonna , farà sempre riferimento a una delle prime 3 colonne dell'origine "datatable".
Questo è l' $A$2offset della colonna più 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
Nel secondo parametro OFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)seleziona l' offset di riga .
Fondamentalmente la matematica qui è y + x * 4.
4 è il numero di righe che si desidera visualizzare.
3 è il numero di colonne nell'origine "datatable".
La x è composta dalla colonna e il modulo 3.
COLUMN()-1è 0, 1, 2, 3, ... e così via.
MOD(COLUMN()-1;3)sarà 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
COLUMN()-1-MOD(COLUMN()-1;3)sarà 0, 3, 6, 9, ... e così via, dove il valore cambia solo ogni 3a colonna.
La divisione per 3 comporterà 0, 1, 2, 3, ...
La moltiplicazione per 4 comporterà 0, 4, 8, 12, ...
(Per spiegazioni su Modulo , vedere anche MOD()nella guida di Excel, o operazione modulo in wikipedia )
(Grazie a Jake Kacher, per l'idea di base)