手作業でセルを1つずつダブルクリックし、キーボードで改行を挟んでいく手法は、数十件から数千件に及ぶ大規模な顧客リストや住所データの前では無力です。手入力による人為的ミスを排除し、複数列のデータを連結しながら瞬時に改行を挟み込みたい局面で登場するのがエクセル改行関数CHARを用いた数式テクニックです。
コンピュータの内部において、改行という見えない文字は文字コード(アスキーコード)として数値で管理されています。Windows環境のエクセルで扱われる改行は、制御文字の1つであるエクセル改行コードLF(Line Feed)であり、その文字コード番号は「10」と規定されています。一方、Macの古い環境などで用いられるCR(Carriage Return)はコード番号「13」です。
この仕組みを利用し、例えば姓が入力されたA2セルと名が入力されたB2セルを、セル内で2行に分けて連結したい場合は、次のような数式を組み上げます。
=A2 & CHAR(10) & B2
これによって「佐藤」と「太郎」の間に改行コードが物理的に挿入され、1つのセル内で整然と改行された文字列が生成されます。
しかし、ここで数式を打ち込んでも改行されずに横並びのまま表示されてしまうトラブルが多発します。これが読者を悩ませるエクセル改行反映されない対処法の核心です。CHAR(10)による改行を視覚的に画面へ出力させるためには、エクセルの「ホーム」タブ内にある「折り返して全体を表示する」ボタンを必ず有効化しなければなりません。このボタンがオフになっている状態では、セル内にどれだけ改行コードが存在していても、エクセルはテキストを1行のまま右方向へ突き抜けて描画してしまうのです。