Як вставити дані Excel як текст фіксованої ширини?


16

Якщо я копіюю дані в Excel і вставляю їх у текстовий файл, я отримую вкладки між клітинками. Це не добре, я хочу пробіли - і я хочу, щоб стовпці були вирівняні. Як я можу досягти цього без великих зусиль (очевидно, я не хочу запускати регекс вручну тощо)

Використання "Зберегти як" (як у цьому запитанні ) не є рішенням для мене, мені потрібно копіювати та вставляти.


У мене є можливе рішення, яке передбачало б вставлення з однієї книги до іншої робочої книги (потім з іншої книги до того місця, куди ви вставляєте. Чи відповідає це вашому робочому процесу?
Pynner

@Pynner: Ну, це підходить краще, ніж взагалі немає рішення, так що так, продовжуйте.
einpoklum

Відповіді:


14

Це, звичайно, не просто пояснити ... але після його налаштування він працюватиме з мінімальними зусиллями. Також це невелика зміна того, що @pnuts окреслив

Я пропоную використовувати електронну таблицю шаблонів, до якої можна скопіювати та вставити. створений я шаблон має 3 вкладки, які виглядають так.

вкладки

  • Data вкладка - це місце, де дані вставляються
  • Length збирається зайнятися математикою, щоб визначити найдовший стовпчик
  • Space insert збирається вставити відповідну кількість пробілів (редагувати), які ви можете скопіювати звідси і отримати правильний результат

виглядає вкладка довжини

довжина

Рядок 1 має максимальні символи, стовпчик нижче є і містить формулу

=MAX(A2:A101)+1

+1 створює роздільник.

Рядки від 2 до n (які я розширив до 100 для цього прикладу) містять формулу для оцінки довжини кожного рядка

=LEN('Data tab'!A1)

виглядає вкладка пробілу

пробіл

Кожна комірка містить комірку, щоб оцінити довжину себе порівняно з максимальним значенням (+ роздільник) та вставити відповідну кількість пробілів.

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

Зверніть увагу на $, який блокує рядок 1, якщо ви копіюєте та вставляєте формулу

(редагувати) ви можете скопіювати з вкладки пробілу.

блокнот


1
Геніально надуманий!
einpoklum

Але ... навіщо мені справді останній аркуш? Я можу скопіювати та вставити з третього аркуша. Крім того, я не хочу використовувати довгі формули, реплікувані для кожного стовпця.
einpoklum

Цілком правильно .. остання вкладка не потрібна ... я припускав, що комірки вставлять додаткові символи. Я
оновлю

Відмінна відповідь, дуже дякую Особисто деякі мої стовпці виходять дуже довгими, тому я додав сторінку з "= LEFT (" пробіл "! A1, $ K $ 2) & IF (довжина! A2> $ K $ 2," ... | ", "|") ", де $ K $ 2 встановлено на відповідне значення (максимум найважливішого стовпця). Це добре працює для описів тощо, наступний крок завершення: p
chrispepper1989,

Наступним кроком буде правильне вирівнювання числових даних
vlad_tepesch

3

Найпростішим рішенням буде об'єднати ваші числові дані в "заплутаний" рядок, який правильно вставляється в текстовий файл. Створіть формулу Excel для одного рядка, а потім скопіюйте її для всіх рядків на робочому аркуші, а потім скопіюйте стовпець формули та вставте її у текстовий файл. Наприклад,

Дані

Клітка А1: 247

Клітина В1: 19

Клітина С1: 1437

Формула в клітині D1

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

Результат тексту-вставки

247,19,1437

Існує ще один підхід , який не спирається на формули.

  • Спочатку переконайтеся, що стовпці даних мають однакову ширину
  • Потім вставляйте ще один стовпчик між кожною парою стовпців даних, кожен з шириною 2.
  • Введіть одну кому у кожен із вставлених стовпців, скопіювавши її по довжині даних.
  • Нарешті, збережіть робочий аркуш як файл форматованого тексту (пробіл) (* .prn).

Перевага цієї альтернативи полягає в тому, що вона зберігає форматування ваших даних. Якщо ви хочете скопіювати дані через коску або просто показати одне десяткове місце, ваше форматування буде збережено у файлі prn.


1
pnuts запропоновано mprovement цілком правильно. Я оновив свою відповідь ще однією альтернативою, яка використовує Save As.
чаф

Отже, як я вже сказав у запитанні, заощадження - це не варіант. Чи працюватиме рішення REPT із вставкою копій? Крім того, я ще не приймаю, як би хотів чогось менш громіздкого.
einpoklum

0

Ви можете скопіювати свої дані в Word, а потім використовувати Find and Replace (Ctrl + H) для заміни вкладок пробілами.

  1. Відкрийте та вставте дані в Word
  2. Натисніть Ctrl+H
  3. Детальніше >>
  4. Спеціальний
  5. Білий простір
  6. Помістіть пробіл заміною на:
  7. Замініть всіх

Це не буде робити те, про що я просив, вибачте - ширина стовпця буде відрізнятися.
einpoklum
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.