Excelで住所・備考をCSVに出す前にセル内改行を整理したいなら、改行そのものを消すのか、スペース・区切り記号に置き換えるのかを決めます。改行が複数の情報の境目になっている場合、何も挟まず消すと「東京都千代田区」のような文字列が意図せず連結され、意味が変わることがあります。
折り返し表示と実際の改行を見分ける
セルが2行に見える理由は主に2つあります。列幅に合わせて表示だけ折り返している場合と、セルの文字列に改行文字が入っている場合です。
Excelではセル内の入力位置でAlt+Enterを押すと改行を挿入できます。編集モードでセル内容を確認し、文字列に明示的な改行が入っているかを確かめます。表示上の折り返しだけなら、改行文字を削除する必要はありません。
検索と置換で改行だけを対象にする
作業コピーで、対象の備考列だけを選んでから以下を試します。
- 対象列の数セルで、改行前後の文字列が何を表すか確認します。
- [ホーム]→[検索と選択]→[置換]を開きます(Windowsデスクトップ版なら
Ctrl+Hでも開けます)。 - [検索する文字列]欄へ、Ctrlを押しながらJで改行文字を入力する方法があります。欄には入力文字が見えないことがあるため、最初から[すべて置換]をしないでください。環境・改行コードの違いで一致しないこともあります。
- [置換後の文字列]に半角スペース1文字など意図した区切りを指定し、まず1件で置換対象と結果を確かめます。
- 結果が正しければ対象列のみに適用し、件数と文字列を確認します。
Ctrl+Jが合わない場合は次の数式方式を使います。検索・置換は見えない制御文字を扱うため、作業対象を限定することが重要です。
CLEAN・SUBSTITUTEで別列に整形する
A2が営業部+改行+山田という文字列なら、B2に次を入力します。
=SUBSTITUTE(A2,CHAR(10)," ")
この式は改行コード10(LF)をスペースに置換し、営業部 山田のように表示する方法です。改行がCR+LFで入っているデータなら、先にCHAR(13)も取り除く・置換する必要があります。試験的には、たとえば次のようにまとめて処理できます。
=SUBSTITUTE(SUBSTITUTE(A2,CHAR(13),""),CHAR(10)," ")
=CLEAN(A2)は印刷できない制御文字を取り除くため、改行も削除されます。ただし区切りスペースを残さず文字が連結することがあり、またUnicodeのすべての不可視文字を消せるわけではありません。用途に応じて選びます。
区切り記号を残すべきデータの例
| 元データ例(改行を含む) | 1行化の考え方 |
|---|---|
| 「部署名」改行「担当者名」 | 半角スペースか区切り記号を残す |
| 「住所1行目」改行「建物名」 | スペースで連結し、郵便番号・番地の意味を確認 |
| 「備考の箇条書き」 | /や;など、元の区切りを示す文字を検討 |
| 外部システムが改行を許容する自由記述 | 削除せず、そのシステムのCSV仕様を確認 |
変換後にLEN(A2)とLEN(B2)を比較すれば文字数が変わったことは把握できますが、それだけで意味が保たれたとは言えません。数件を直接見比べ、改行の前後にあった情報が失われていないかを確認してください。元列を上書きする場合は、別列の結果を検査後、値として貼り付ける順番にします。
