【Excel】Alt+Enterが通用しない計算式でも、狙った位置でセル内改行する方法Tech TIPS

Excelの表で、セル内の数値や文字列をちょうどよい位置に改行を入れて、見やすくしたいことはないだろうか。そのような場合、単純な数値や文字列ならば、[Alt]+[Enter]キーを使ってセル内で改行を入れられる。しかし、数式の結果となると、この方法は使えない。その場合の改行の入れ方を紹介しよう。

» 2021年05月07日 05時00分 公開
[塩田紳二]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Office 2013/2016/2019/365


セル内の数値をちょうどよい位置で改行したい セル内の数値をちょうどよい位置で改行したい
列数の多い計算式からなる表などをページ内に収めたい場合、ちょうどよいところに改行を入れて、表示を折り返したいことはないだろうか。単純な数値や文字列の場合は、[Alt]+[Enter]キーを使えばセル内で改行ができるが、計算結果となると簡単にはいかない。そこで今回は、数式に改行を含める方法を解説する。

 「Microsoft Excel(エクセル)」で、数式の計算結果が少し長くなるような場合、改行を入れて、セル幅を広げずに表示したくなることがあるだろう。対象が数式ではない単純な文字列の場合、[Alt]+[Enter]キーで改行を入れることができる(文字列に改行を入れる方法は、Tech TIPS「【Excel】セル内で文字列を改行する方法」を参照のこと)。しかし、[Alt]+[Enter]キーでは数式の途中に入れることはできない。

 そこで、ここでは数式の結果に改行文字を入れる方法を解説する。具体的には、「REPLACE」関数/「SUBSTITUTE」関数を使う方法、文字列を結合する「&(アンド)」演算子を使う方法、そして書式設定文字に改行文字を含める方法がある。

セル内で改行させるには?

 Excelでは、標準状態では、セルは1行で表示するようになっている。「折り返して表示」という書式を設定すると、セルは左右の境界で折り返されて、複数行で表示される。文字列に[Alt]+[Enter]キーで改行文字を入れた場合、この書式設定が自動で適用される。しかし、数式などに改行文字を挿入した場合、「折り返して表示」書式設定は自動では行われないため、ユーザーが手動で設定する必要がある。

 この場合、後述する改行文字の挿入のいかんに関わらず、表示の長さにより、セル右端で自動的に折り返しが行われることに注意してほしい。これは、セル幅に依存するので、改行文字を入れる場合には、結果に対して十分な表示幅がなければならない。また自動折り返しは、欧文を前提に作られているため、スペースなどがあると境界の手前でも自動改行することにも注意してほしい。

 「折り返して表示」が設定されているセルでは、数式の結果に「CHAR」関数を含めることで改行が行える。具体的には「CHAR(10)」使う。数値「10」は、ASCIIコードの改行文字(Line Feed:LF)を意味する。

 以下で説明するいずれの方法でも、あらかじめ対象のセルに「折り返して表示」を設定しておかないと、意図した通りに改行されないので注意してほしい。「折り返して表示」は、リボンの[ホーム]−「配置」−[折り返して全体を表示する]ボタンでオン/オフできる。

「REPLACE」関数を使う場合

 数式の計算結果の特定の位置に改行文字を入れたい場合には、「REPLACE」関数を使う。例えば、「=SIN(PI()/5)」という数式があり、その結果の6文字目の手前に改行を入れたい(5文字目と6文字目の間で改行)場合には、以下のように記述する。

=REPLACE(SIN(PI()/5),6,0,CHAR(10))

数式の結果に改行を挿入する例

数式の計算結果に「REPLACE」関数を使って改行を挿入できる 数式の計算結果に「REPLACE」関数を使って改行を挿入できる
「SIN(PI()/5」という計算式の結果、6文字目の前に改行を挿入したい場合、「REPLACE」関数で改行文字(CHAR(10))を挿入するとよい。

 REPLACE関数は4つの引数を持ち、先頭から「<文字列>」「<開始位置>」「<文字数>」「<置換文字列>」となっている。

=REPLACE( <b><font color="orange"><文字列></font></b> , <b><font color="orange"><開始位置></font></b> , <b><font color="orange"><文字数></font></b> , <b><font color="orange"><置換文字列></font></b> )

「REPLACE」関数の書式

 動作としては、<文字列><開始位置>から<文字数>分を<置換文字列>で置き換えるというものだ。ここで、<文字数>を「0(ゼロ)」にすると、<開始位置><置換文字列>を挿入できる。また、<文字列>には、数値の入ったセルへの参照や数値で結果を戻す数式を入れることも可能で、計算時に自動的に文字列に変換される。

 「REPLACE」関数を使うと、先頭からの文字数などで改行文字の挿入位置を指定できるため、セル幅から挿入位置を算出しやすい。

「SUBSTITUTE」関数を使う場合

 数式の結果が可変長であるなど、文字位置では改行場所を特定しにくい場合、「SUBSTITUTE」関数を使うことで、特定の文字の前後に改行文字を入れることも可能だ。

 計算結果の小数点の直後に改行を入れたいような場合は、「CHAR(10)」を「&(アンド)」演算子でつなげることで、置換ではなく挿入が行える。

=SUBSTITUTE(SIN(PI()/5),".","."&CHAR(10))

小数点の直後に改行を入れる例

 また、関数の結果に複数のスペースが含まれている場合、2つ目のスペースの後に改行を入れたいのならば、以下のようにする。「INFO("OSVERSION")」関数は、Windows OSのバージョンを返す関数である。

=SUBSTITUTE(INFO("OSVERSION")," ",CHAR(10),2)

2つ目のスペースの後に改行を入れる例

数式の計算結果に「SUBSTITUTE」関数を使って改行を挿入できる 数式の計算結果に「SUBSTITUTE」関数を使って改行を挿入できる
対象の数式に必ず同じ文字が含まれる場合、「SUBSTITUTE」関数で、その文字の位置に改行文字を入れることができる。<置換文字>に対象文字列と「CHAR(10)」を「&(アンド)」演算子でつなげることで、置換ではなく挿入が行われる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。