Excelで改行を含むセルをコピーしてメモ帳に貼り付けると、テキストが1行に貼り付けられます。何故ですか?
Excelで改行を含むセルをコピーしてメモ帳に貼り付けると、テキストが1行に貼り付けられます。何故ですか?
回答:
これは、スプレッドシートの機能の性質によるものです。データがいっぱいのスプレッドシートがあるとします。データの行全体をコピーしてからメモ帳に貼り付ける場合、そのデータはすべて1行である必要があります。これは、別のデータ行をコピーして貼り付ける場合、次のデータ行を1行にする必要があるためです。コピーした最初の行に改行があった場合、データは2つの線形行になくなります。データをメモ帳からコピーしてスプレッドシートに戻すと、正しく貼り付けられません。
Alt+Enter
)、0xAのみが入力され、完全な0xD 0xA LF
ではなく、の代わりにが入力されCR/LF
ます。Excelはこれを解釈し、改行を表示しますが、プレーンなメモ帳はを予期してCR/LF
いるため、改行を表示しません。バグよりも検出される形式の違いですが、それでも正しい理由です。
これは、メモ帳を使用する場合に当てはまります。メモ帳は、WindowsにあらかじめインストールされているMicrosoftの基本的なテキストエディターです。
ただし、PSPadやNotepad ++(両方とも優れた、無料)などのより高度なテキストエディターを使用すると、改行が転送されます。
エクセル:
セルにマークを付けてから、Notepad ++にコピーして貼り付けます。
メモ帳(Windowsの既定のエディター)に貼り付けた同じコンテンツ:
どちらの場合も、引用符が自動的に追加されたことに注意してください!
優れたエディターには、LineFeed(LF)やCarriageReturn(CR)などの制御文字を表示するオプションもあります。Notepad ++では、これは次のようになります。
結論として、ニーズに応じてツールを選択してください。エディターでセルの境界を保持する必要があるが、セルの内容が少し変更される可能性がある場合は、メモ帳を使用してください。改行を含むセルの内容をそのまま残しておく必要があり、セル境界の1:1再現性が重要でない場合は、別のエディターを使用してください。
そのようなデータの大量処理
セルの境界線とセルの内容の両方を同時に1:1で保存する必要がある場合、問題が発生する可能性があります。
よりインテリジェントなソリューションがあるかもしれませんが、そのような場合に私がしたことは、コンテンツを読み取り、改行用のプレースホルダー文字列を追加する任意の言語(VBA、Python、またはあなたが最も好きなもの)で小さなプログラムを書くことでした「### Linebreak ###」は、後でCRおよびLF制御文字で置き換えることができます。もちろん、これは手間がかかり、大量のデータを処理する必要がある場合にのみ意味があります。
追加された引用符でも問題が発生する場合があります。これらは、改行が含まれている場合でも、一見するとセルの境界を保持するのに役立つ場合があります。ただし、セルに元のコンテンツの一部が引用符で囲まれている場合、新しい問題が発生します。これにはさまざまな解決策がありますが、注意が必要です。
CR
LF
が実際に表示されるのは、それが表示され、それがLF
フルであるCR
LF
と想定され、変換されるためです。
Keltariの答えは論理的な推論を与えますが、この答えは技術的な違いに焦点を当てています。
コンピューティングで使用される改行には、3つの異なる形式があります。
LF
)を使用しますCR
)が使用されますCRLF
)これは、タイプライターの動作からの差し替えです。
Excelは、これらの改行の組み合わせを使用して、複数の行を持つセルを表します。
Tab
文字で区切られます。CRLF
文字で区切られます。LF
文字のみを使用して各行を区切ります。これは、ワークブックを.txt
ファイルとして保存し、これらの文字の表示をサポートするテキストエディターで開くと明らかになります。
メモ帳はCRLF
、改行としてのみ処理し、無視するLF
かCR
、単独で処理します。それらはまだドキュメント内にありますが、決して表示されません。
注: Notepad ++は自動的に行末を調整しますが、通常のメモ帳はそうしないので、前後に貼り付けるときにこれは表示されません。
LF
であるメモ帳だけで目に見えて、それを表示しない、メモ帳に貼り付けたとき、まだ実際に存在します。したがって、貼り付けられたデータをメモ帳からExcelにコピーしてコピーすると、これらの改行が含まれる理由があります(ただし、Excelは行を自動的にサイズ変更しません)。
CRLF
ます。
="A"&CHAR(13)&CHAR(10)&"B"
です。数式によって生成された改行はExcelでは表示されませんが、コピーしてから「値の貼り付け」で貼り付けると正常に機能します。"A<CRLF>B"
メモ帳で手動で入力してコピーした値を貼り付けると、CRLFも保持されます。
LF
EOL を含むテキストファイルをすばやく読み込めるようにしました。つまりは、検索LF
文字を、それを選択し、Ctrl
+ C
、Ctrl
+ Home
、Ctrl
+ F
、Ctrl
+ V
、Enter
、Esc
、Enter
。その後、繰り返しF3
、Enter
最後まで。[編集:<kbd>はコメントで機能しませんか?]
ExcelはLFを使用して、セル内の新しい行を示します。Windowsは一般に改行にCRLFを使用するため、メモ帳はこれを改行と見なしません。
Notepad ++は、比較的単純なNotepadよりもインテリジェントであるため、LFも改行として解釈します。