置換を使ってセル内の改行をまとめて削除する方法については こちら でご紹介しました。
今回は SUBSTITUTE 関数と CHAR 関数を使う方法をご紹介します。

SUBSTITUTE 関数は文字列を置き換えるときに利用する関数です。こちら でご紹介したことが
あるので詳細はそちらでご覧ください。

セル内に複数の改行があって、最初の改行は削除したいけれど、2 つ目は残したいなんていうときは、
置換ではなくこちらの方法で行います。

Excel201207-002-step1.jpg


SUBSTITUTE 関数では、"どのデータの"、"なんていう文字を"、"何に置き換えるか" を
指定して結果を得ます。
"セル B2" の、"改行を"、"空白に置き換える" とすれば、結果的に改行を削除できます。

ポイントは "改行を" というのをどのように指定するかです。
CHAR 関数を使うと、コード番号で改行を指定することができます。とても簡単に (乱暴に) いうと、
CHAR 関数の引数で「10」を指定すると、改行を指定していることになる、ということです。

1.  改行を削除した結果を表示したいセルに数式を作成します。

たとえば下図のように、セル B2 に入力されているデータの改行を削除した結果を
セル C2 に表示するのであれば、セル C2 に「=SUBSTITUTE(B2, CHAR(10), "")」という
数式を作成します。

Excel201207-002-1.jpg
 

2.  セル B2 のデータの改行を削除した結果がセル C3 に表示されます。

SUBSTITUTE 関数の数式で、「置き換え対象」を指定していないため、すべての改行が
削除された結果が表示されます。

Excel201207-002-2.jpg

3.  最初の改行だけを削除し、2 つ目の改行は残す場合は、

SUBSTITUTE 関数の数式で、「置き換え対象」で 1 を指定します。
1 つ目の改行だけを対象として置き換えてください、という意味ですね。

Excel201207-002-3.jpg


4.  この時点では、すべての改行が削除された結果が表示されています。

数式を作成したセルを選択し、[折り返して全体を表示する] をオンにすると、
1 つ目の改行だけが削除された結果が表示されます。

Excel201207-002-4.jpg


おまけ

逆のパターンを。

複数のセルに入力されている値を、改行を加えて 1 つのセルに表示したいときにも、
CHAR 関数を使えます。

下図のように、表示したい値が入力されているセルと、改行位置 (CHAR(10)) を & でつないだ
数式を作成し、[折り返して全体を表示する] をオンすると、複数のセルの値が指定した位置で
改行されて表示されます。

Excel201207-002-5.jpg
 



改行をまとめて削除するだけなら置換で十分ですが、別のセルに結果を表示したい、
対象となる改行を指定したいという場合は関数でどうぞ。
おまけのパターンをご希望の方も結構いるようです。ごめんなさい、ご紹介の優先度を
間違えたかもしれません。。。

石田かのこ