【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)」を「&(アンド)」演算子でつなげることで、置換ではなく挿入が行われる。

 SUBSTITUTE関数は、4つの引数を持ち、以下のような書式で使う。

=SUBSTITUTE(<b><font color="orange"><文字列></font></b> , <b><font color="orange"><検索文字列></font></b> , <b><font color="orange"><置換文字列></font></b> , <b><font color="orange"><置換対象></font></b>)

「SUBSTITUTE」関数の書式

 この関数は、<文字列>に含まれる<検索文字列>を探し、<置換文字列>で置き換えるものだ。<文字列>には、数式やセル参照なども指定できる。<置換対象>で、どの<検索文字列>を処理するのかを指定できる。<文字列><検索文字列>が複数含まれるような場合、「1」を指定すると、最初に現れた<検索文字列>を置換する。「2」ならば2番目に見つかった<検索文字列>を対象にする。省略すると、<文字列>に含まれる全ての<検索文字列>が対象になる。

 「SUBSTITUTE」関数は、改行位置の手掛かりとなるような文字が数式結果に必ず含まれる場合に利用できる。特に特定パターンの文字列を返すような数式での利用に向いている。

数値に書式を設定したいとき

 Excelでは、数式で数値をセル参照すると、最大有効数字の数値が数式に渡される。このため、これをそのまま「REPLACE」関数や「SUBSTITUTE」関数で改行を入れる処理をすると、数値参照部分は、Excelの最大有効数字で表示されてしまう。さらに改行を挿入した数式の結果は文字列なので、セルに対する書式設定では、表示桁数などを指定できない。

 このように、数値を参照するような場合には、「TEXT」関数を使って、改行文字を入れる前の段階で数値に書式を適用させることができる。「TEXT」関数は、以下のように使う。

TEXT(<b><font color="orange"><数値></font></b>、"<b><font color="orange"><表示形式コード></font></b>"

「TEXT」関数の書式

「TEXT」関数で数式の結果に書式を適用する 「TEXT」関数で数式の結果に書式を適用する
「REPLACE」関数や「SUBSTITUTE」関数の結果は文字列となるため、セルの書式設定では数値の書式指定ができない。書式指定が必要なときには、「TEXT」関数を使う。

 <表示形式コード>には、セルの書式設定と同じ文字列を指定する。このとき「"標準"」を使うと、何も書式設定しないときのデフォルト書式となる。

 なお、[セルの書式設定]ダイアログでは、「数値」や「金額」などの分類で書式を選択した後、「ユーザー書式」を選択すると表示形式コード(書式設定)を見ることが可能だ。

表示形式コードを調べる(1) 表示形式コードを調べる(1)
[セルの書式設定]ダイアログを開き、「分類」で[数値]や「金額]などを選択し、表示形式を選択する(数値の場合は、「小数点以下の桁数」なども設定する)。
表示形式コードを調べる(2) 表示形式コードを調べる(2)
「分類」で[ユーザー定義]を選択すると、「種類」で表示形式コードが確認できる。

文字列結合演算子「&」を使う方法

 Excelでは、「&(アンド)」演算子を使うことで、セル参照や数式などを文字列として結合させることができる。「=B2&(1/8)&C2」という数式では、「1/8」という数値式の前後に他のセルの内容を結合している。このようなタイプの数式に改行文字を挿入したいなら、演算子の部分に「CHAR」関数を入れればよい。上記の例で計算式の前で改行させたいなら、以下のようにすればよい。

=B3&CHAR(10)&(18)&C3

「&」演算子で改行文字を挿入する例

セル参照や式を結合するタイプの数式では「&」演算子で「CHAR」関数を挟み込む セル参照や式を結合するタイプの数式では「&」演算子で「CHAR」関数を挟み込む
セル参照や数式を結合するタイプの数式の場合には、「CHAR(10)」を適当な位置に挟み込めば、そこで改行が行われる。

 なお、Excelには、「&」演算子と同様の働きをする「CONCATENATE」関数や加算演算子による文字列の結合といった方法があり、どれでも同じように利用できる。また、数式に書式を設定したいなら、「TEXT」関数を数式に適用すればよい。

書式文字に改行文字を入れる

 Excelの書式設定文字列に対しては、[Ctrl]+[J]キー([Ctrl]キーを押しながら[J]キーを押す)で改行文字を挿入することが可能だ。ただし、改行文字を[Ctrl]+[J]キーで挿入できるのは、書式文字列中のダブルクオートで囲われた部分に限られる。

 Excelでは、書式文字「#」や「0」の並びで数字を書式指定できるが、桁の途中に「"(ダブルクオート)」を囲まれた文字列を挿入できる。セルの書式設定ダイアログボックスで「ユーザー定義」に「#,##0.0000」という書式文字列があったとき、「#,##0." <[Ctrl]+[J]キー>"0000」とすることで、小数点の後ろに改行を入れることが可能だ(書式指定の入力ボックスで、[Ctrl]+[J]キーを押すと、ボックス内で改行が行われる)。書式指定文字では、数値の桁位置を正確に表現できるため、数値の大小によらず改行位置を指定できるというメリットがある。

セルの書式設定に[Ctrl]+[J]キーを挿入するとそこで改行が行われる セルの書式設定に[Ctrl]+[J]キーを挿入するとそこで改行が行われる
セルの書式設定ダイアログでユーザー定義書式にダブルクオートで囲んだ[Ctrl]+[J]キーを入れれば、その位置で改行が行われる。

 この方法は、数値の桁や書式と同時に設定できて便利だ。ただし、結果が文字列になるような場合には、利用できない。これはEXCELの書式指定が、正の数、負の数、文字列で別になっているためだ。Excelの一部の関数は、数値を演算するものの、結果を文字列として返すもの(「YEN」関数など)があるので注意してほしい。


 これらの方法を使うことで、数式に改行文字を挿入して折り返し位置を強制的に変更することが可能だ。セル幅は変えたくないが折り返し位置を手前に変更したいというときに使うことができる。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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