エクセルセル内改行ができない?Alt+Enter不発の罠とプロの解決策
手作業での改行入力を卒業し、Excelを本格的な業務自動化ツールとして運用するならば、関数の活用が避けて通れません。とりわけCHAR関数セル内改行のロジックを理解しておくと、複数のセルに分散したマスターデータを結合しながら、美しく整形された帳票テキストを自動生成できます。
Windows環境において、改行コード(ラインフィード: LF)は文字コード番号「10」に該当します。そのため、セルA2に「部署名」、セルB2に「役職・氏名」が格納されている場合、以下の数式を記述します。
=A2 & CHAR(10) & B2
この数式を適用したセルに対して「折り返して全体を表示する」を設定すると、数式の結果として2行に分かれたテキストが自動描画されます。元データが修正されれば表示も即座に同期されるため、手動でAlt+Enterを打ち直す手間は一切発生しません。なお、Mac環境の古いExcelバージョン(Excel 2011以前など)ではキャリッジリターン(CR)を指す「CHAR(13)」が必要となるケースがありましたが、Office 365を含む現行バージョンでは「CHAR(10)」で完全に標準化されています。
さらに、実務で差がつくのがエクセル数式内改行テクニックです。長大なIFS関数やXLOOKUPのネスト、複雑なLET関数を組む際、数式バーの中で横に何十文字も連なると、数式の構造把握やバグ修正が極めて困難になります。数式入力中に数式バーの中で「Alt + Enter」を押すと、数式自体を改行してインデントを揃えることが可能です。この改行は計算結果に何ら悪影響を与えないため、チーム内で共有する数式の可読性(メンテナンス性)を飛躍的に向上させるプロの標準スキルとなっています。
一方、外部から流れてきた汚れたデータから改行を根こそぎ排除したい場面では、CLEAN関数改行削除の出番です。数式は「=CLEAN(A2)」と記述するだけで、ASCIIコード0〜31に属するあらゆる印刷不能な制御コードを完全にそぎ落とします。VLOOKUP関数で照合する際に「同じ文字に見えるのにエラーが出る」という現象の大半は末尾に混入した不可視の改行コードが原因であり、CLEAN関数を通すことでデータマッチングの精度を100%に保てます。