実務で頻繁に直面するのが、外部システムからエクスポートしたCSVファイルやWebフォームのアンケート回答に含まれる「余計な改行」の処理です。1セルずつダブルクリックしてBackSpaceキーを押していく作業は、膨大な時間を浪費するだけでなく人的ミスの温床になります。こうした場面で絶大な威力を発揮するのが、目に見えない制御文字を直接指定するエクセル改行コード検索と置換のテクニックです。
まずマスターしておきたいセル内改行の一括削除方法が、標準の置換機能を用いた裏ワザです。該当する列を選択した状態で「Ctrl + H」を押して置換ダイアログを開き、「検索する文字列」の入力欄をクリックします。そこでキーボードの「Ctrl」を押しながらアルファベットの「J」を押します。画面上は何も入力されていないように見えますが、一瞬小さな点滅やカーソルの揺れが起これば、内部的に改行コード(ASCIIコード10)が指定された合図です。「置換後の文字列」を空欄にしたまま「すべて置換」を実行すれば、数千行に及ぶセル内の改行が一瞬で完全に除去されます。
一方、改行をただ消すのではなく「、」や「 / 」といった区切り文字に置き換えて文脈を保ちたい場合には、数式によるアプローチが欠かせません。ここで真価を発揮するのがSUBSTITUTE関数改行置換の手法です。たとえばA2セルに入っている文章の改行を読点に変換したい場合、次のように記述します。
=SUBSTITUTE(A2, CHAR(10), "、")
数式内で指定しているCHAR関数セル内改行の引数「10」は、Windows環境における改行(ラインフィード:LF)を指す文字コードです。この関数を組み込むことで、元のデータベースを破壊することなく、閲覧用・出力用に最適化されたクリーンなテキストを自動生成できます。逆に、複数のセルに入力された文字列をひとつのセル内で綺麗に改行して連結させたい場合は、=A2 & CHAR(10) & B2 のように結合演算子と組み合わせ、セルの「折り返して全体を表示する」を有効にするだけで、整然とした宛名ラベルや商品詳細欄が完成します。