Excel sayfasını çok sütunlu düzende nasıl yazdırabilirim?


14

Excel sayfamda çok ince ancak çok fazla çizgisi olan (> 500) üç sütun A, B, C var. Şimdi bunu yazdırırsam, neredeyse boş olan 10 sayfa alıyorum. Her sayfanın sadece sol kenarlığında bu üç sütunu görüyorum.

Yapmak istediğim, tüm sayfayı çok sütunlu bir düzende yazdırmak. Sayfa başına 2 veya 3 sütun yeterli olacaktır. Şu anda, değerleri Excel'den kopyalayarak, bir Word belgesine ekleyerek ve ardından Word'ün çok sütunlu düzen işlevini kullanarak yapıyorum. Bunu doğrudan Excel'de başarmanın bir yolu yok mu?

Sorunumu açıklığa kavuşturmak için: Şu anda sayfalarım böyle görünüyor

A B C
A B C
A B C
A B C
. . .

Ama istediğim şu:

A B C     A B C     A B C
A B C     A B C     A B C
A B C     A B C     A B C
. . .     . . .     . . .

Yanıtlar:


11

Excel'in bunu yapabileceğini sanmıyorum. Olası bir çözüm, Microsoft Word'ü kullanmak ve etrafındaki sütunları yılanlamaktır: Daha az sayfa kullanmak için sütunları yılanla

Yılan Sütunlarına MS Word'ü Kullanma (#msword)

Daha sonra açıklanacak Excel makamın içine bir iletişim kutusu yerleştirmediğimden, bu muhtemelen bir kerelik kullanım için en kolayıdır.

  1. Excel e-tablosundan sütunları seçin ve kopyalayın.
  2. Word'e yapıştırın, bu birkaç dakika sürer
  3. Tablonun üstünde tekrarlanacak satırları seçin, ardından bunu Tabloda Word'de -> Tekrarlanacak satırlarda belirtin
  4. Bağlantı kullanarak veya tablodaki hücreleri seçerek tüm tabloyu seçin ve ardından Tablo -> Seç -> Tablo
  5. Sütunlar düğmesini kullanarak satır sayısını belirtin veya yerleşim üzerinde daha fazla kontrol istiyorsanız Biçim -> Sütunlar

Bu örnek iyi işliyor. Görev başka olasılıklar da sunuyor.


5

"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$2değil, $A$2artı 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$2artı 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)


2

Basit bir formül kullanabilirsiniz:

=OFFSET(Sheet1!$A$1,(ROW()-2)*5+COLUMN(),0)

verilerin 5 sütunda yatay olarak akmasını sağlamak için.
Daha sonra sayfa boyutunu seçebilir, her sayfada ilk satırı yazdırabilirsiniz.
Basit, temiz, VBA gerekmez.


3
Muhtemelen bir Excel Guru için yararlıdır - ancak bunu nereye koyacağımı veya nasıl kullanacağımı bilmiyorum.
Anthony Nichols

1
İstenen şeyi tam olarak yapmaz, ancak ilginçtir. satırda 5 daha kısa veri sütunu alırsınız. Veriler beş sütun boyunca akarken, verilerin her bir sütunda aşağı akmasını ve yılanı geçmesini bekliyorum. Yine de, çok ilginç kompakt formül.
loneRanger

1

Bulduğum en kolay yol, yeni bir çalışma sayfası oluşturmak ve tabloyu manuel olarak ayrı sütunlara ayırarak yeniden oluşturmaktı.

örneğin A1 =Sheet1!A1

B1 =Sheet1!B1

C1- =Sheet1!C1

D1 boş (bölücü sütun için)

sonra E1 =Sheet1!E51

F1 =Sheet1!B51

G1 =Sheet1!C51

Ve bunu 50 satırın üzerine kopyalayın. Bu daha sonra tek bir sütun 100 satır tablosunu 2 sütun 50 satır tablosuna dönüştürür. İhtiyaçlarınıza göre ayarlayın.

Tabii ki bu manueldir ve aynı kalan satır sayısına bağlıdır. Orijinal tablodaki satır sayısından ve istediğiniz sütun sayısından gereken satır sayısını dinamik olarak hesaplamak zor olmaz. Tek sorun, orijinal tablonun yeni sayfadaki sütunlara ayrıldığında tek bir sayfaya sığacak boyutun ötesine uzanmasıdır.


0

Adobe Indesign'ınız varsa, excel dosyasını içine yerleştirebilir ve bu düzeni kolayca yapabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.