Bagaimana cara mencetak lembar Excel dalam tata letak multi-kolom?


13

Dalam lembar excel saya, saya memiliki tiga kolom A, B, C yang sangat tipis, tetapi memiliki banyak garis (> 500). Sekarang jika saya mencetak ini, saya mendapatkan 10 halaman yang hampir kosong. Hanya di perbatasan kiri setiap halaman saya melihat tiga kolom ini.

Yang ingin saya lakukan adalah mencetak seluruh lembar dalam tata letak multicolumn. 2 atau 3 kolom per halaman sudah cukup. Saat ini, saya melakukannya dengan menyalin nilai-nilai dari Excel, memasukkannya ke dalam dokumen Word dan kemudian menggunakan fungsi tata letak multi-kolom Word. Apakah tidak ada cara untuk mencapainya secara langsung di Excel?

Untuk memperjelas masalah saya: Saat ini halaman saya terlihat seperti itu

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

Tapi yang saya inginkan adalah ini:

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
. . .     . . .     . . .

Jawaban:


10

Saya tidak berpikir Excel bisa melakukan itu. Cara yang mungkin dilakukan adalah dengan menggunakan Microsoft Word dan mengguncang kolom sekitar: Cara mengguncang kolom untuk menggunakan lebih sedikit halaman

Menggunakan Kolom MS Word to Snake (#msword)

Ini mungkin yang paling mudah digunakan untuk penggunaan satu kali, karena saya belum memasukkan dialog ke makro Excel yang saya jelaskan nanti.

  1. Pilih dan salin kolom dari lembar bentang Excel.
  2. Rekatkan ke Word, ini membutuhkan beberapa saat
  3. Pilih baris yang akan diulang di atas dalam tabel, kemudian tunjukkan ini di Word dengan Tabel -> Baris yang diulang
  4. Pilih seluruh tabel menggunakan jangkar, atau pilih sel di tabel dan kemudian Tabel -> Pilih -> Tabel
  5. Tunjukkan jumlah baris menggunakan tombol kolom, atau Format -> Kolom jika Anda ingin lebih mengontrol penempatan

Contoh ini berfungsi dengan baik. Pos juga menawarkan kemungkinan lain.


4

Jika Anda memiliki tabel sumber yang disebut "datatable", letakkan rumus ini di lembar tambahan ke setiap sel (tempat data yang dicetak akan muncul):

=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))

( . Di atas diterjemahkan dari bahasa Jerman ke dalam bahasa Inggris rumus Jerman yang diuji adalah: =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3)) )

Hasil yang diharapkan:

Ini akan mengubah konten sheet "datatable":

A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
A6 B6 C6
...

ke:

A1 B1 C1    A5 B5 C5    ...
A2 B2 C2    A6 B6 C6    ...
A3 B3 C3    ...
A4 B4 C4    ...

Penjelasan:

Dasar-dasar:

misalnya OFFSET( datatable!$A$2; 3; 4 )referensi sel relatif $A$2, 3 baris ke bawah, 4 kolom di sebelah kanan.

ROW()dan COLUMN()angka, mewakili posisi sel saat ini dalam lembar saat ini (misalnya $A$1= kolom 1 / baris 1, $C$2= kolom 3 / baris 2).

Di (-1)mana-mana diperlukan karena kami menggunakan offset, dan baris dan kolom pertama adalah 1, tetapi kami ingin sel yang direferensikan pertama $A$2, bukan $A$2plus offset 1.

The (ROW()-2)adalah untuk headline di output-/ print-tabel (Ini shold -1 jika Anda tidak memiliki informasi utama).
$A$2adalah untuk judul di sumber "datatable". Tanpa tajuk harus dirujuk dengan $A$1(bukan $A$2).

Detail:

Parameter ke-3 OFFSET(...;...;MOD(COLUMN()-1;3))adalah kolom offset , akan selalu merujuk salah satu dari 3 kolom pertama dari sumber "yang dapat didata".
Yaitu $A$2plus kolom offset 0, 1, 2, 0, 1, 2, 0, 1, 2, ...

Pada parameter ke-2 OFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)pilih offset baris .
Pada dasarnya matematika di sini adalah y + x * 4.

4 adalah jumlah baris yang ingin Anda tampilkan.
3 adalah jumlah kolom di sumber "datatable".

X terbuat dari kolom dan modulo 3.
COLUMN()-1adalah 0, 1, 2, 3, ... dan seterusnya.
MOD(COLUMN()-1;3)akan menjadi 0, 1, 2, 0, 1, 2, 0, 1, 2, ...

COLUMN()-1-MOD(COLUMN()-1;3)akan menjadi 0, 3, 6, 9, ... dan seterusnya, di mana nilainya berubah hanya setiap kolom ke-3.
Pembagian dengan 3 akan menghasilkan 0, 1, 2, 3, ...
Perkalian dengan 4 akan menghasilkan 0, 4, 8, 12, ...

(Untuk penjelasan tentang Modulo , lihat juga MOD()di bantuan excel, atau operasi modulo di wikipedia )

(Terima kasih kepada Jake Kacher, untuk ide dasarnya)


1

Anda dapat menggunakan rumus sederhana:

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

untuk membiarkan data mengalir secara horizontal dalam 5 kolom.
Kemudian Anda dapat memilih ukuran halaman, mencetak baris pertama pada setiap halaman, dll.
Sederhana, rapi, tidak perlu VBA.


3
Mungkin bermanfaat untuk Guru Excel - tetapi saya tidak tahu di mana saya akan meletakkan ini atau bagaimana menggunakannya.
Anthony Nichols

Tidak persis melakukan apa yang diminta, tetapi tidak kalah menariknya. Jika kolom A memiliki serangkaian angka yang panjang, maka jika Anda menyalin rumus ini untuk mengatakan C, D, E, F, G dan menyeretnya ke angka yang cukup baris, Anda akan mendapatkan 5 kolom data yang lebih pendek. Data mengalir melintasi lima kolom, sementara saya berharap Anda ingin data mengalir ke bawah setiap kolom dan melintasi. Meski begitu, formula ringkasnya sangat menarik.
loneRanger

0

Cara termudah yang saya temukan adalah membuat lembar kerja baru dan cukup membuat ulang tabel secara manual menjadi kolom terpisah.

misal A1 =Sheet1!A1

B1 =Sheet1!B1

C1 =Sheet1!C1

D1 kosong (untuk kolom pembagi)

lalu E1 =Sheet1!E51

F1 =Sheet1!B51

G1 =Sheet1!C51

Dan salin ini ke lebih dari 50 baris. Ini kemudian mengubah tabel 100 baris kolom tunggal menjadi tabel 2 baris kolom 50. Sesuaikan dengan kebutuhan Anda.

Tentu saja ini manual, dan tergantung pada jumlah baris tetap sama. Tidak akan sulit untuk secara dinamis menghitung jumlah baris yang diperlukan dari jumlah baris di tabel asli dan jumlah kolom yang Anda inginkan. Satu-satunya masalah adalah jika tabel asli meluas melampaui apa yang cocok pada satu halaman ketika dipisahkan menjadi kolom pada lembar baru.


0

Jika Anda memiliki Adobe Indesign, Anda dapat menempatkan file excel di dalamnya dan membuat tata letak ini dengan mudah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.