Excelデータを固定幅テキストとして貼り付ける方法は?


16

Excelでデータをコピーしてテキストファイルに貼り付けると、セル間にタブが表示されます。それは良くありません、私はスペースが欲しいです-そして、私は列を揃えたいです。どうすれば多くの努力なしでこれを達成できますか(明らかに、手動で正規表現を実行したくないなど)

この質問のように)「名前を付けて保存」を使用することは私にとっては解決策ではありません。コピーして貼り付ける必要があります。


私は、他のブックからあなたが貼りどこに(別のワークブックに1つのワークブックから貼り付ける伴うだろう可能性のある解決策を持っているワークフローとそのフィットを行います。?
Pynner

@Pynner:解決策がないよりはましだから、そうだ。
アインポクラム

回答:


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
巧妙に考案された!
アインポクルム

しかし...本当に最後のシートが必要なのはなぜですか?3番目のシートからコピーして貼り付けることができます。また、各列に複製された長い数式を使用したくありません。
アインポクラム

非常に正しい..最後のタブは不要です...セルに追加の文字が挿入されると想定していました。私はそれを修正するために私の答えを更新します
Pynner

素晴らしい回答、ありがとうございました。個人的には非常に長い列がいくつかあるので、 "= LEFT( 'space insert'!A1、$ K $ 2)&IF(Length!A2> $ K $ 2、" ... | "、 "|") "$ K $ 2は適切な値(最も重要な列の最大値)に設定されます。これは説明など、次のステップのラッピングに
適してい

次のステップは、numericalsの適切なアライメントだろう
vlad_tepesch

3

最も簡単な解決策は、数値データをテキストファイルに正しく貼り付ける「推奨」文字列に連結することです。1行のExcel式を作成し、ワークシートのすべての行にコピーしてから、式の列をコピーしてテキストファイルに貼り付けます。例えば、

データ

セルA1:247

セルB1:19

セルC1:1437

セルD1の数式

= A1& "、"&B1& "、"&C1

テキストで送信可能な結果

247,19,1437

数式に依存しない別のアプローチがあります。

  • まず、データ列がすべて同じ幅であることを確認します。
  • 次に、それぞれの幅が2であるデータ列の各ペアの間に別の列を挿入します。
  • 挿入された列のそれぞれに単一のコンマを入力し、データの長さに沿ってコピーします。
  • 最後に、ワークシートを書式付きテキスト(スペース区切り)(* .prn)ファイルとして保存します。

この代替の利点は、データのフォーマットを保持することです。データをコンマ形式にする場合、または小数点以下1桁のみを表示する場合は、prnファイルに書式が保持されます。


1
pnutsは、改善がまさに正しいことを示唆しています。名前を付けて保存を使用する別の方法で回答を更新しました。
チャフ

したがって、質問で述べたように、sas-asはオプションではありません。REPTソリューションはコピーと貼り付けで機能しますか?また、面倒ではないものが欲しいので、まだ受け入れていません。
アインポクルム

0

Wordでデータをコピーし、検索と置換(Ctrl + H)を使用してタブをスペースに置き換えることができます。

  1. Wordでデータを開いて貼り付ける
  2. Ctrl+を押すH
  3. もっと>>
  4. 特別
  5. ホワイトスペース
  6. 置換にスペースを入れます:
  7. すべて置き換える

それは私が要求したことを行いません、申し訳ありません-列の幅が異なります。
アインポクラム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.