計算式でセル内改行を挿入する


セル内で改行するときは、改行したい位置で[Alt]キーを押しながら[Enter]キーを押します。では、他のセルに入力されている文字を結合するなどの「数式で改行」するにはどうしたらいいでしょう。

セルA1に「東京都」という文字列が入力されています。セルにA2には「千代田区」です。この2セルを結合するには&演算子を使います。セルB1には「=A1&A2」という式を入力しました。

ちょっと個人的な感想ですけど、よくこの手の"文字列結合"をするとき「CONCATENATE関数を使いましょう」みたいに教えている書籍などを散見します。

まぁ、CONCATENATE関数でもできますけど、なんでわざわざ関数使うんだろ。てか、ここは&演算子でしょ。どっちでもいいっちゃ、いいんですけど、これからExcelのスキルを高めようって思うのなら、関数じゃなくて&演算子をオススメします。数式の作成にしても、VBAにしても、文字列の結合って日常茶飯事です。文字列結合をイメージして、それを自分で作れないと、Excelは絶対に使いこなせません。そして、この文字列結合って、ビギナーが最も苦手にしていることのひとつです。だから、初心者のうちから、&演算子に慣れていただきたいです。

余談ですけど、CONCATENATE関数の最悪なところは、結合する文字列やセルを"ひとつずつカンマで区切って"指定しなければならないってとこです。大量の文字列を結合するときは、イライラMAX状態になります。まぁ、それは&演算子でも同じですけど。おそらく、そんな不満が世界中から届いたのでしょう、Excel 2019で新しくCONCAT関数が追加されました。CONCAT関数は「ここからここまで」とセル範囲を指定できます。

素晴らしい!これでイライラも解消されます。CONCAT関数が追加されたことで、Microsoftは「これからは、できればCONCAT関数使ってね」的にアピールしています。

VBAを使う人には、さらに朗報です。このCONCAT関数はWorksheetFunctionで呼び出せます。

Sub Macro1()
    MsgBox WorksheetFunction.Concat(Range("A1:A3"))
End Sub

さて、話を戻しましょう。セル内の文字列などを結合するとき、&演算子を使うのですが、その数式内には、任意の文字列を指定することもできます。

上図では"A"という文字列を結合していますが、この"A"のかわりに改行コードを指定すれば、結果的にセル内改行できるという仕組みです。

じゃ、改行コードって何を指定すればいいのかと言えば、これは「CHAR(10)」です。なんで「10」なのかとか、そもそも改行コードって何なのかについては、下の動画でメッチャ詳しく解説していますので、ぜひご覧ください。

では、実際にやってみましょう。

へ?改行されてないじゃん、って思った方、まだ話は途中です。これだけでは、改行されません。セル内で改行されているように表示するには、セルの書式設定で[折り返して全体を表示する]がオンになっていなければなりません。

セルに手動操作で入力しているとき、Alt + Enterキーを押すと、改行コードが入力されると同時に、この[折り返して全体を表示する]チェックボックスがオンになります。