Excelの改行を完全整理|CHAR(10)で入れる・消す・置き換える方法

  • このエントリーをはてなブックマークに追加
excel 関数 改行

Excelでセル内に改行を入れたい、あるいは不要な改行を消したいと思ったことはありませんか。手入力なら Alt+Enter で改行できるのに、関数になると急に分からなくなる、という方は非常に多いです。

実務では、氏名や住所を見やすく表示したいとき、CSVや外部データを取り込んだときなど、改行が原因で表示が崩れたり、処理が止まったりするケースが頻繁に起こります。「改行が入らない」「消したはずなのに残っている」といった悩みは、Excelあるあるですよね。

この記事では、Excelにおける改行の正体を整理したうえで、改行を入れる・削除する・置き換える方法を関数ベースで解説します。CHAR(10)を軸に、実務でそのまま使える完成形の数式も紹介するので、改行処理で迷うことがなくなります。

Excelで「改行」を扱う前に知っておくべき基本

Excelにおける改行の正体とは

Excelで使われている「改行」は、見た目のレイアウトではなく、文字コードとして扱われる1文字です。多くのケースで、この改行は CHAR(10)(ラインフィード/LF)として表現されています。

つまり、Excelにおける改行は「特殊な表示」ではなく、文字列の一部という位置づけです。この考え方を理解していないと、「なぜ関数で扱えるのか」「なぜ消えないのか」が分からなくなります。

Excelの改行は“レイアウト”ではなく“文字”。ここを押さえるだけで、改行処理の理解が一気に楽になります。

Alt+Enterで入る改行と関数の改行の関係

セル内で Alt+Enter を押して入れた改行も、実は内部的には CHAR(10) として保存されています。

そのため、次のような式で、手入力の改行も関数で入れた改行も、同じように扱えます。

=SUBSTITUTE(A1,CHAR(10),"")

この式は、Alt+Enterで入れた改行であっても、CHAR関数で入れた改行であっても、区別なく削除します。

「手入力改行」と「関数改行」は、Excel内部では同じものという点は、実務で非常に重要です。

改行が「見えない/表示されない」理由

改行を入れたはずなのに、セル内で1行に見えてしまうことがあります。その原因の多くは、「折り返して全体を表示する」設定がオフになっていることです。

セル内改行を正しく表示するには、次の設定を確認してください。

  • セルを選択する
  • 「ホーム」タブ
  • 「折り返して全体を表示する」をオン

この設定がオフのままだと、改行は存在していても見た目上は1行に表示されます。

改行が見えない=存在しない、ではないという点は、トラブル時に必ず思い出したいポイントです。

Excelで改行を「入れる」方法

セル内に手入力で改行を入れる方法

まず最も基本的な方法が、キーボード操作によるセル内改行です。セルを編集中に、改行したい位置で Alt+Enter を押すことで、その場に改行を入れられます。

この方法は、少量のデータを手作業で整える場合に向いています。ただし、行数が多いデータや、毎回同じルールで改行したい場合には不向きです。

手入力の改行は「一時的な整形」向きと覚えておくと、使い分けしやすくなります。

CHAR関数を使って改行を入れる方法

関数で改行を入れたい場合は、CHAR(10) を使います。CHAR(10) は、Excelにおける改行コード(LF)を表します。

たとえば、A1とB1の文字列を、改行して1つのセルに表示したい場合は、次のように書きます。

=A1 & CHAR(10) & B1

この式を使うと、A1の内容の下に、B1の内容が改行されて表示されます。表示されない場合は、セルの「折り返して全体を表示する」がオンになっているか確認してください。

関数で改行を入れる場合の基本は CHAR(10)です。

文字列結合と改行を組み合わせる実務例

実務では、複数の情報を1セルにまとめつつ、見やすく改行したいケースがよくあります。

たとえば、氏名と住所を改行して表示したい場合は、次のように書けます。

=A1 & CHAR(10) & B1 & CHAR(10) & C1

また、TEXTJOIN関数を使えば、改行を区切り文字としてまとめて結合することも可能です。

=TEXTJOIN(CHAR(10),TRUE,A1:C1)

この方法であれば、空白セルを無視しつつ、複数項目をきれいに改行表示できます。

繰り返し使う改行結合は TEXTJOIN+CHAR(10) が最も効率的です。

Excelで改行を「削除する」方法

SUBSTITUTE関数で改行を削除する

セル内に含まれる改行をピンポイントで削除したい場合は、SUBSTITUTE関数が最も基本的な方法です。改行は文字として扱われるため、CHAR(10)を置換対象にします。

たとえば、A1に含まれる改行をすべて削除したい場合は、次の式を使います。

=SUBSTITUTE(A1,CHAR(10),"")

この式では、改行を空文字に置き換えることで、セル内の改行をすべて削除します。Alt+Enterで入れた改行も、関数で入れた改行も同様に消せます。

改行削除の基本形は SUBSTITUTE+CHAR(10)です。

CLEAN関数で不要な改行をまとめて削除する

外部データやCSVを取り込んだ場合、改行だけでなく、制御文字と呼ばれる不要な文字が混ざっていることがあります。そのような場合に便利なのが、CLEAN関数です。

=CLEAN(A1)

CLEAN関数は、改行を含む制御文字(CHAR(0)~CHAR(31))をまとめて削除します。見た目では分からない文字が原因のトラブル対策として、非常に有効です。

ただし、CLEAN関数はすべての改行を一律に削除するため、「特定の改行だけを残したい」場合には向いていません。

手入力改行と関数改行を同時に消す考え方

実務では、「手入力の改行も、関数で入れた改行も、まとめて消したい」というケースがほとんどです。その場合は、SUBSTITUTEかCLEANのどちらかで十分対応できます。

特に安全なのは、次のように組み合わせる方法です。

=CLEAN(SUBSTITUTE(A1,CHAR(10),""))

この式では、まずCHAR(10)を明示的に削除し、その後CLEANで残った制御文字を除去します。CSVやシステム連携データを扱う場合に、非常に安定した結果が得られます。

「消えない改行」に悩んだら、SUBSTITUTEとCLEANを組み合わせると覚えておくと安心です。

Excelで改行を「置き換える」方法

改行を空白に置き換える

改行は削除するだけでなく、「空白」や他の文字に置き換えたいケースも多くあります。たとえば、住所や文章を1行にまとめたい場合ですね。

改行を半角スペースに置き換える基本形は、次のとおりです。

=SUBSTITUTE(A1,CHAR(10)," ")

この式では、改行(CHAR(10))を半角スペースに置き換えています。文章としての区切りを保ちたい場合は、削除よりも置き換えのほうが自然な結果になります。

文章を崩さずに整形したい場合は「削除」ではなく「置き換え」を選ぶのがポイントです。

改行を特定の文字に置き換える

改行を「/」「・」「,」など、任意の記号に置き換えたい場合も、考え方は同じです。

たとえば、改行を「/」に置き換える場合は、次のように書きます。

=SUBSTITUTE(A1,CHAR(10),"/")

この方法を使えば、複数行のデータを「1行・区切り付き」の形式に変換できます。CSV用データや、他システムに渡す前処理としてもよく使われます。

複数の改行を1つにまとめる実務例

外部データでは、連続した改行が含まれていることも少なくありません。そのままでは見た目も悪く、後続処理にも影響します。

このような場合は、SUBSTITUTEを複数回使って、連続改行を1つにまとめる方法があります。

=SUBSTITUTE(A1,CHAR(10)&CHAR(10),CHAR(10))

この式は、「改行+改行」を「改行1つ」に置き換えています。必要に応じて、何度か入れ子にすることで、データをきれいに整形できます。

改行が多すぎるデータは、まず「まとめる」発想を持つと、処理が楽になります。

CSV・外部データ由来の改行トラブル対策

改行が消えない原因(LF・CRLFの違い)

CSVや外部システムから取り込んだデータでは、「SUBSTITUTEで改行を消したはずなのに、まだ残っている」という現象が起きることがあります。これは、改行コードの種類が1つではないことが原因です。

主に次の2種類が存在します。

  • LF(ラインフィード):CHAR(10)
  • CRLF(キャリッジリターン+ラインフィード):CHAR(13)+CHAR(10)

Windows環境のCSVでは、CRLFが含まれているケースが多く、CHAR(10)だけを置換しても、CHAR(13)が残ってしまうことがあります。

SUBSTITUTEとCLEANを組み合わせた対処法

改行コードの違いを意識せずに、確実に改行を処理したい場合は、SUBSTITUTEとCLEANを組み合わせる方法が最も安全です。

=CLEAN(SUBSTITUTE(A1,CHAR(10),""))

この式では、まずCHAR(10)を削除し、その後CLEAN関数で残った制御文字(CHAR(13)など)をまとめて削除します。CSV・システム連携データでは、この形を標準形として覚えておくと安心です。

取り込み前後で注意すべきポイント

外部データの改行トラブルを防ぐには、「取り込んでから直す」だけでなく、取り込み前後の設定も重要です。

  • CSVの文字コード・改行コードを事前に確認する
  • Power Queryを使って取り込み時に改行を処理する
  • 改行処理用の列を別途用意して、元データを残す

改行トラブルは「関数の問題」ではなく「データ由来」で起きることが多いという意識を持つと、原因切り分けがしやすくなります。

改行処理でよくある失敗と注意点

改行を入れたのに表示されないケース

「確かに改行を入れたはずなのに、セル内で1行のまま表示される」という相談は非常に多いです。この原因のほとんどは、セルの表示設定にあります。

セル内改行を正しく表示するためには、次の設定が必要です。

  • 対象セルを選択する
  • [ホーム]タブ → [折り返して全体を表示する]をオン

この設定がオフのままだと、改行(CHAR(10))は存在していても、見た目上は1行にしか表示されません。

改行が見えない=改行が存在しない、ではないという点は、必ず覚えておきましょう。

印刷・PDF出力で崩れる原因

画面上ではきれいに改行されていても、印刷やPDF出力をするとレイアウトが崩れることがあります。これは、行の高さが固定されていることが原因になるケースが多いです。

対処法としては、次の点を確認してください。

  • 行の高さが自動調整されているか
  • 「折り返して全体を表示する」が有効か
  • 印刷設定で縮小・拡大がかかっていないか

特に、行の高さを手動で固定していると、改行部分が見切れてしまうため注意が必要です。

他人に渡すExcelで気をつけること

改行を含むExcelファイルを他人に渡す場合は、「自分の環境では見えている」という前提で考えないことが重要です。

  • 折り返し設定が正しく入っているか
  • 印刷・PDFでも意図どおり表示されるか
  • 改行処理用の列と元データの列を分けているか

改行は「表示設定」とセットで初めて意味を持つため、共有前の最終確認を習慣にすると、トラブルを防げます。

Excelの改行処理を安全に使いこなすための考え方

改行は「文字」として扱う意識

ここまで見てきたとおり、Excelの改行はレイアウトではなく、文字列の一部として存在する「文字」です。この意識を持てるかどうかで、改行処理の理解度は大きく変わります。

改行を文字として捉えると、次のような考え方が自然にできるようになります。

  • 改行は CHAR(10) という文字コードで表現される
  • SUBSTITUTEで置換できるのは「文字」だから
  • 検索・判定・削除ができるのも「文字」だから

改行を特別扱いしないことが、トラブルを避ける最大のコツです。文字列処理の一部として考えれば、他の関数と同じ発想で扱えます。

用途別|どの関数を使うべきか整理

最後に、改行処理でよく使われる関数を、用途別に整理しておきましょう。

  • 改行を入れたい → CHAR(10)、TEXTJOIN
  • 改行を削除したい → SUBSTITUTE、CLEAN
  • 改行を置き換えたい → SUBSTITUTE
  • 外部データの改行トラブル対策 → SUBSTITUTE+CLEAN

この整理を頭に入れておくだけで、「今は何をしたいのか」「どの関数を選ぶべきか」がすぐに判断できるようになります。

改行処理で迷ったら、「入れる・消す・置き換える」のどれかに分解する。この考え方があれば、複雑なケースでも落ち着いて対応できます。

Excelの「改行」に関するよくある質問(FAQ)

CHAR(10)以外の改行コードはある?

あります。Excelで最もよく使われるのは CHAR(10)(LF)ですが、外部データやCSVでは CHAR(13)(CR)が含まれていることもあります。

  • CHAR(10):LF(ラインフィード)… Excel標準・Alt+Enter
  • CHAR(13):CR(キャリッジリターン)… Windows系CSVなど

そのため、「CHAR(10)を消したのに改行が残る」場合は、CHAR(13)が原因であるケースが多いです。

改行が消えないときは、CR(13)とLF(10)の両方を疑うのが鉄則です。

TEXTJOINで改行は使える?

はい、使えます。TEXTJOIN関数は、区切り文字として CHAR(10) を指定することで、改行区切りの結合が可能です。

=TEXTJOIN(CHAR(10),TRUE,A1:C1)

この式では、A1~C1を改行区切りで結合し、空白セルは無視されます。複数項目を見やすく1セルにまとめたい場合に非常に便利です。

改行を含むセルを検索・判定できる?

できます。改行も文字の一種なので、SEARCHやFIND、COUNTIFで判定可能です。

たとえば、「改行を含んでいるか」を判定したい場合は、次のように書けます。

=ISNUMBER(SEARCH(CHAR(10),A1))

この式は、A1に改行が含まれていれば TRUE、含まれていなければ FALSE を返します。データチェックや整形前の判定に使えます。

改行は「検索できる文字」であるという点を覚えておくと、応用範囲が一気に広がります。

       

SNSでもご購読できます。

     

コメントを残す


CAPTCHA