Excelの表で、セル内の数値や文字列をちょうどよい位置に改行を入れて、見やすくしたいことはないだろうか。そのような場合、単純な数値や文字列ならば、[Alt]+[Enter]キーを使ってセル内で改行を入れられる。しかし、数式の結果となると、この方法は使えない。その場合の改行の入れ方を紹介しよう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Office 2013/2016/2019/365
「Microsoft Excel(エクセル)」で、数式の計算結果が少し長くなるような場合、改行を入れて、セル幅を広げずに表示したくなることがあるだろう。対象が数式ではない単純な文字列の場合、[Alt]+[Enter]キーで改行を入れることができる(文字列に改行を入れる方法は、Tech TIPS「【Excel】セル内で文字列を改行する方法」を参照のこと)。しかし、[Alt]+[Enter]キーでは数式の途中に入れることはできない。
そこで、ここでは数式の結果に改行文字を入れる方法を解説する。具体的には、「REPLACE」関数/「SUBSTITUTE」関数を使う方法、文字列を結合する「&(アンド)」演算子を使う方法、そして書式設定文字に改行文字を含める方法がある。
Excelでは、標準状態では、セルは1行で表示するようになっている。「折り返して表示」という書式を設定すると、セルは左右の境界で折り返されて、複数行で表示される。文字列に[Alt]+[Enter]キーで改行文字を入れた場合、この書式設定が自動で適用される。しかし、数式などに改行文字を挿入した場合、「折り返して表示」書式設定は自動では行われないため、ユーザーが手動で設定する必要がある。
この場合、後述する改行文字の挿入のいかんに関わらず、表示の長さにより、セル右端で自動的に折り返しが行われることに注意してほしい。これは、セル幅に依存するので、改行文字を入れる場合には、結果に対して十分な表示幅がなければならない。また自動折り返しは、欧文を前提に作られているため、スペースなどがあると境界の手前でも自動改行することにも注意してほしい。
「折り返して表示」が設定されているセルでは、数式の結果に「CHAR」関数を含めることで改行が行える。具体的には「CHAR(10)」使う。数値「10」は、ASCIIコードの改行文字(Line Feed:LF)を意味する。
以下で説明するいずれの方法でも、あらかじめ対象のセルに「折り返して表示」を設定しておかないと、意図した通りに改行されないので注意してほしい。「折り返して表示」は、リボンの[ホーム]−「配置」−[折り返して全体を表示する]ボタンでオン/オフできる。
数式の計算結果の特定の位置に改行文字を入れたい場合には、「REPLACE」関数を使う。例えば、「=SIN(PI()/5)」という数式があり、その結果の6文字目の手前に改行を入れたい(5文字目と6文字目の間で改行)場合には、以下のように記述する。
=REPLACE(SIN(PI()/5),6,0,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> )
動作としては、<文字列>の<開始位置>から<文字数>分を<置換文字列>で置き換えるというものだ。ここで、<文字数>を「0(ゼロ)」にすると、<開始位置>に<置換文字列>を挿入できる。また、<文字列>には、数値の入ったセルへの参照や数値で結果を戻す数式を入れることも可能で、計算時に自動的に文字列に変換される。
「REPLACE」関数を使うと、先頭からの文字数などで改行文字の挿入位置を指定できるため、セル幅から挿入位置を算出しやすい。
数式の結果が可変長であるなど、文字位置では改行場所を特定しにくい場合、「SUBSTITUTE」関数を使うことで、特定の文字の前後に改行文字を入れることも可能だ。
計算結果の小数点の直後に改行を入れたいような場合は、「CHAR(10)」を「&(アンド)」演算子でつなげることで、置換ではなく挿入が行える。
=SUBSTITUTE(SIN(PI()/5),".","."&CHAR(10))
また、関数の結果に複数のスペースが含まれている場合、2つ目のスペースの後に改行を入れたいのならば、以下のようにする。「INFO("OSVERSION")」関数は、Windows OSのバージョンを返す関数である。
=SUBSTITUTE(INFO("OSVERSION")," ",CHAR(10),2)
Copyright© Digital Advantage Corp. All Rights Reserved.