Bagaimana cara menempelkan data Excel sebagai teks dengan lebar tetap?

16

Jika saya menyalin data di Excel dan menempelnya di file teks, saya mendapatkan tab di antara sel. Itu tidak baik, saya ingin spasi - dan saya ingin kolom disejajarkan. Bagaimana saya bisa mencapai ini tanpa banyak usaha (jelas saya tidak ingin mulai menjalankan regexps dengan tangan dll.)

Menggunakan 'Save As' (seperti dalam pertanyaan ini ) bukan solusi bagi saya, saya perlu menyalin dan menempel.

einpoklum
sumber
saya punya solusi yang mungkin yang akan melibatkan menempel dari satu buku kerja ke buku kerja lain (kemudian dari buku kerja lain ke mana pun Anda tempel. Apakah itu sesuai dengan alur kerja Anda?
Pynner
@Pynner: Yah, itu lebih cocok daripada tidak ada solusi sama sekali, jadi ya, silakan.
einpoklum

Jawaban:

14

Ini tentu saja tidak mudah untuk dijelaskan ... tetapi setelah pengaturan itu akan bekerja dengan usaha minimal. Juga ini adalah sedikit variasi pada apa yang telah diuraikan @ kacang

Saya sarankan menggunakan spreadsheet templat yang bisa Anda salin-tempel. template yang saya buat memiliki 3 tab yang terlihat sebagai berikut.

tab

  • Data tab adalah tempat data ditempel
  • Length akan melakukan beberapa matematika untuk menentukan kolom terpanjang
  • Space insert akan menyisipkan jumlah ruang yang sesuai (edit) yang dapat Anda salin dari sini dan dapatkan hasil yang benar

tab panjang terlihat seperti

panjangnya

Baris 1 memiliki karakter maksimum kolom di bawah ini dan berisi rumus

=MAX(A2:A101)+1

+1 menciptakan pembatas.

Baris 2 hingga n (yang telah saya tambah hingga 100 untuk contoh ini) berisi rumus untuk mengevaluasi panjang setiap string

=LEN('Data tab'!A1)

tab sisipan ruang sepertinya

masukkan spasi

Setiap sel berisi sel untuk mengevaluasi panjangnya sendiri dibandingkan dengan nilai maks (+ pembatas) dan menyisipkan jumlah ruang yang sesuai.

='Data tab'!A1&REPT(" ",length!A$1-length!A2)

Perhatikan $ yang mengunci Baris 1 jika Anda menyalin dan menempelkan rumus

(edit) Anda dapat menyalin dari tab sisipan ruang.

notes

Pynner
sumber
1
Cerdik dibuat-buat!
einpoklum
Tapi ... mengapa saya membutuhkan lembar terakhir, sungguh? Saya bisa salin-tempel dari lembar ketiga. Juga, saya tidak ingin menggunakan rumus panjang yang direplikasi untuk setiap kolom.
einpoklum
Cukup benar .. tab terakhir tidak diperlukan ... saya berasumsi bahwa sel akan memasukkan karakter tambahan. Saya akan memperbarui jawaban saya untuk memperbaikinya
Pynner
Jawaban yang sangat bagus, terima kasih banyak. Secara pribadi beberapa kolom saya yang keluar sangat panjang, jadi saya menambahkan halaman dengan "= KIRI ('spasi masukkan'! A1, $ K $ 2) & JIKA (Panjang! A2> $ K $ 2," ... | ", "|") "di mana $ K $ 2 diatur ke nilai yang sesuai (maks kolom paling penting). Ini bekerja dengan baik untuk deskripsi dll, pembungkus langkah selanjutnya: p
chrispepper1989
langkah selanjutnya adalah penyelarasan numerik yang tepat
vlad_tepesch
3

Solusi termudah adalah menyatukan data numerik Anda menjadi string "commified" yang menempel dengan benar ke dalam file teks. Buat rumus Excel untuk satu baris dan kemudian salin ke bawah untuk semua baris di lembar kerja, lalu salin kolom rumus dan tempel di file teks. Sebagai contoh,

Data

Sel A1: 247

Sel B1: 19

Sel C1: 1437

Formula dalam Sel D1

= A1 & "," & B1 & "," & C1

Hasil Teks-Pastable

247,19,1437

Ada pendekatan lain yang tidak bergantung pada formula.

  • Pertama, pastikan kolom data Anda sama lebarnya.
  • Kemudian masukkan kolom lain di antara masing-masing pasangan kolom data, masing-masing dengan lebar 2.
  • Masukkan satu koma di setiap kolom yang disisipkan, salin ke panjang data.
  • Akhirnya, simpan lembar kerja sebagai file Teks Berformat (Batas ruang) (* .prn).

Manfaat dari alternatif ini adalah mempertahankan format data Anda. Jika Anda ingin memformat data, atau hanya menampilkan satu tempat desimal, pemformatan Anda akan disimpan dalam file prn.

orang yg kurang ajar
sumber
1
pnuts menyarankan agar perbaikan benar. Saya telah memperbarui jawaban saya dengan alternatif lain yang menggunakan Save As.
chuff
Jadi, seperti yang saya katakan di pertanyaan, menabung-bukan bukan pilihan. Akankah solusi REPT bekerja dengan copy-paste? Juga, saya belum menerima karena saya ingin sesuatu yang kurang rumit.
einpoklum
0

Anda bisa menyalin data Anda di Word dan kemudian menggunakan Temukan dan Ganti (Ctrl + H) untuk mengganti tab dengan spasi.

  1. Buka dan tempel data di Word
  2. Tekan Ctrl+H
  3. Lebih lanjut >>
  4. Khusus
  5. Ruang Putih
  6. Masukkan spasi di ganti dengan:
  7. Menggantikan semua
Michael
sumber
Itu tidak akan melakukan apa yang saya minta, maaf - lebar kolom akan berbeda.
einpoklum