"Datatable" adlı bir kaynak tablonuz varsa, bu formülü her hücreye fazladan bir sayfaya koyun (yazdırılan verilerin görünmesi gereken yer):
=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))
( Yukarıda İngiliz içine alman çevrilir test Alman formüldür:. =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3))
)
Beklenen Sonuç:
Bu, "datatable" sayfasının içeriğini dönüştürecektir:
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
A6 B6 C6
...
içine:
A1 B1 C1 A5 B5 C5 ...
A2 B2 C2 A6 B6 C6 ...
A3 B3 C3 ...
A4 B4 C4 ...
Açıklama:
Temelleri:
örneğin , sağa 3 satır aşağıya, 4 sütuna OFFSET( datatable!$A$2; 3; 4 )
göre hücreye başvurur $A$2
.
ROW()
ve COLUMN()
geçerli hücrenin geçerli sayfadaki konumunu temsil eden sayılardır (örn. $A$1
= sütun 1 / satır 1, $C$2
= sütun 3 / satır 2).
(-1)
Biz uzaklıklar kullanarak çünkü her yerde gerekli olan ve ilk satır ve sütun 1, ama biz ilk başvurulan hücre olmak istiyorum $A$2
değil, $A$2
artı 1 ofset.
(ROW()-2)
Output- / print-tabloda bir başlık (O shold -1 Eğer bir başlık yoksa) içindir.
$A$2
"datatable" kaynağındaki bir başlık içindir. Başlık olmadan buna $A$1
(yerine $A$2
) atıfta bulunulmalıdır .
Detaylar:
3. parametresi OFFSET(...;...;MOD(COLUMN()-1;3))
olan ofset kolon , her zaman "Datatable" kaynak ilk 3 sütun bir referans olacaktır.
Bu $A$2
artı sütun ofseti 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
2. parametrede satır ofsetiniOFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)
seçer .
Temelde buradaki matematik y + x * 4'tür.
4, görüntülemek istediğiniz satır sayısıdır.
Şekil 3, "datatable" kaynağındaki sütunların sayısıdır.
X, kolondan yapılır ve modulo 3
COLUMN()-1
, 0, 1, 2, 3, ... vb. Şeklindedir.
MOD(COLUMN()-1;3)
0, 1, 2, 0, 1, 2, 0, 1, 2, olacak ...
COLUMN()-1-MOD(COLUMN()-1;3)
0, 3, 6, 9, ... vb. olacaktır, burada değer yalnızca her 3. sütunda değişmektedir.
3'e bölme 0, 1, 2, 3, ...
ile sonuçlanır. 4 ile çarpma 0, 4, 8, 12, ... ile sonuçlanır.
(Yaklaşık açıklaması için Modulo , ayrıca bkz MOD()
Excel yardımında veya wikipedia modülo işlemi )
(Temel fikir için Jake Kacher'a teşekkürler)