エクセルのセル内の文字列を特定の文字で改行する

月の行事予定表などを作るのに、一つのセルにいくつかの項目を◆などの区切り文字を入れて作成することがある。もちろんスペースでも構わないのだが、それを別のシートなどで見やするするために、◆で改行させる方法を覚えのために書きます。

今日の日今日の日
88そろばんの日◆ひげの日◆親孝行の日そろばんの日
ひげの日
親孝行の日
89長崎原爆記念日◆ムーミンの日◆はり・きゅう・マッサージの日長崎原爆記念日
ムーミンの日
はり・きゅう・マッサージの日

 

C列が行の高さを節約するために、◆によっていくつかの項目が続けて入力されている。
D列はそのC列を関数を使って改行した状態。

その関数は次のように入力されている。

今日の日今日の日
88そろばんの日◆ひげの日◆親孝行の日=SUBSTITUTE(TRIM(C4),"◆",CHAR(10))
89長崎原爆記念日◆ムーミンの日◆はり・きゅう・マッサージの日=SUBSTITUTE(TRIM(C5),"◆",CHAR(10))

 

改行を行うD列の表示設定は、「折り返して全体を表示する」に設定しておくこと。

TRIM関数で文字列から余分なスペースを取り除きます。

CHAR(10)は、セル内改行のAlt+Enterを意味します。

SUBSTITUTE関数は、=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)という置換の働きをします。したがって、◆を検索して、それを改行マークに変えます、ということになる。

 

エクセルのセルの文字列を改行する

A1のセルに入力されている文字列が◆でつながれているとする。

これをB1のセルに◆の部分で改行した形にする時

=SUBSTITUTE(TRIM(A1),”◆”,CHAR(10))

と関数式を入力し、セルの書式を「折り返して全体を表示する」に設定する。

これで◆の部分で改行された文字列をB1に表示させることができる。