Làm cách nào để dán dữ liệu Excel dưới dạng văn bản có chiều rộng cố định?


16

Nếu tôi sao chép dữ liệu trong Excel và dán nó vào tệp văn bản, tôi sẽ nhận được các tab giữa các ô. Điều đó không tốt, tôi muốn khoảng trắng - và tôi muốn các cột được căn chỉnh. Làm thế nào tôi có thể đạt được điều này mà không cần nỗ lực nhiều (rõ ràng tôi không muốn bắt đầu chạy regexps bằng tay, v.v.)

Sử dụng 'Save As' (như trong câu hỏi này ) không phải là giải pháp cho tôi, tôi cần sao chép và dán.


Tôi có một giải pháp khả thi có thể liên quan đến việc dán từ sổ làm việc này sang sổ làm việc khác (sau đó từ sổ làm việc khác đến bất cứ nơi nào bạn dán. Điều đó có phù hợp với quy trình làm việc của bạn không?
Pynner

@Pynner: Vâng, nó phù hợp hơn là không có giải pháp nào cả, vì vậy, hãy tiếp tục.
einpoklum

Câu trả lời:


14

Điều này chắc chắn không đơn giản để giải thích ... nhưng sau khi được thiết lập, nó sẽ hoạt động với nỗ lực tối thiểu. Ngoài ra, đây là một biến thể nhỏ về những gì @pnuts đã phác thảo

Tôi đề nghị sử dụng bảng tính mẫu mà bạn có thể sao chép-dán vào. mẫu tôi đã tạo có 3 tab trông như sau.

tab

  • Data tab là nơi dữ liệu được dán
  • Length sẽ làm một số phép toán để xác định cột dài nhất
  • Space insert sẽ chèn số lượng khoảng trống (chỉnh sửa) thích hợp mà bạn có thể sao chép từ đây và nhận được kết quả chính xác

tab chiều dài trông giống như

chiều dài

Hàng 1 có các ký tự tối đa của cột bên dưới là và chứa công thức

=MAX(A2:A101)+1

+1 tạo dấu phân cách.

Hàng 2 đến n (mà tôi đã mở rộng đến 100 cho ví dụ này) chứa một công thức để đánh giá độ dài của mỗi chuỗi

=LEN('Data tab'!A1)

tab chèn không gian trông giống như

không gian chèn

Mỗi ô chứa một ô để đánh giá độ dài của chính nó so với giá trị tối đa (+ dấu phân cách) và chèn một số khoảng trắng thích hợp.

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

Lưu ý $ mà khóa Hàng 1 nếu bạn sao chép và dán công thức

(chỉnh sửa) bạn có thể sao chép từ tab chèn không gian.

sổ tay


1
Khéo léo chiếm hữu!
einpoklum

Nhưng ... tại sao tôi cần tờ cuối cùng, thực sự? Tôi có thể sao chép-dán từ tờ thứ ba. Ngoài ra, tôi không muốn sử dụng bất kỳ công thức dài nào được sao chép cho mỗi cột.
einpoklum

Hoàn toàn đúng .. tab cuối cùng không bắt buộc ... tôi đã giả định rằng các ô sẽ chèn thêm ký tự. Tôi sẽ cập nhật câu trả lời của mình để sửa nó
Pynner

Câu trả lời tuyệt vời, cảm ơn bạn rất nhiều. Cá nhân một số cột của tôi xuất hiện rất lâu, vì vậy tôi đã thêm một trang với "= LEFT ('khoảng trắng chèn'! A1, $ K $ 2) & IF (Độ dài! A2> $ K $ 2," ... | ", "|") "trong đó $ K $ 2 được đặt thành một giá trị phù hợp (tối đa của cột quan trọng nhất). Điều này hoạt động tốt cho các mô tả, vv, gói tiếp theo: p
chrispepper1989

bước tiếp theo sẽ là sự liên kết chính xác của các số
vlad_tepesch

3

Giải pháp dễ nhất sẽ là nối dữ liệu số của bạn thành một chuỗi "được giao dịch" dán chính xác vào một tệp văn bản. Tạo công thức Excel cho một hàng và sau đó sao chép nó xuống cho tất cả các hàng trong bảng tính, sau đó sao chép cột công thức và dán nó vào tệp văn bản. Ví dụ,

Dữ liệu

Ô A1: 247

Ô B1: 19

Ô C1: 1437

Công thức trong ô D1

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

Kết quả văn bản

247,19,1437

một cách tiếp cận khác không dựa vào công thức.

  • Đầu tiên, đảm bảo các cột dữ liệu của bạn có cùng chiều rộng.
  • Sau đó chèn một cột khác giữa mỗi cột dữ liệu .of, mỗi cột có chiều rộng là 2.
  • Nhập một dấu phẩy duy nhất trong mỗi cột được chèn, sao chép nó xuống chiều dài của dữ liệu.
  • Cuối cùng, lưu bảng tính dưới dạng tệp Văn bản được Định dạng (Phân cách bằng dấu cách) (* .prn).

Một lợi ích của sự thay thế này là nó bảo vệ định dạng dữ liệu của bạn. Nếu bạn muốn định dạng dấu phẩy cho dữ liệu hoặc chỉ hiển thị một vị trí thập phân, định dạng của bạn sẽ được giữ nguyên trong tệp prn.


1
pnuts đề nghị tham gia là hoàn toàn chính xác. Tôi đã cập nhật câu trả lời của mình bằng một phương án khác sử dụng Save As.
chuff

Vì vậy, như tôi đã nói trong câu hỏi, tiết kiệm - như không phải là một lựa chọn. Giải pháp REPT có hoạt động với việc sao chép không? Ngoài ra, tôi chưa chấp nhận vì tôi muốn một cái gì đó ít cồng kềnh hơn.
einpoklum

0

Bạn có thể sao chép dữ liệu của mình trong Word và sau đó sử dụng Tìm và thay thế (Ctrl + H) để thay thế các tab bằng dấu cách.

  1. Mở và dán dữ liệu trong Word
  2. Nhấn Ctrl+H
  3. Thêm >>
  4. Đặc biệt
  5. Khoảng trắng
  6. Đặt một khoảng trắng thay thế bằng:
  7. Thay thế tất cả

Xin lỗi, đó không phải là những gì tôi yêu cầu, xin lỗi - độ rộng cột sẽ khác nhau.
einpoklum
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.