カテナリーのオフィスブログ

柔らかすぎず、硬すぎず。Officeソフトのあれこれを記録。図書館司書としての本のご紹介も。

【CHAR(10)という】Excelの改行を削除する方法【マジックワード】

どうも、長年使っているSurfaceの充電器が壊れて作業が滞っていた、カテナリーです。
普段は図書館業務や趣味などでOfficeソフトを活用している者です。

先々週の記事では、Excelで改行する方法をご紹介しました。

catenaryoffice.com

今週は、逆に改行を削除する方法を取り上げてみます。

Wordと違いExcelで改行を削除するのは実は簡単ではありません。
その証拠に、置換する時に出てくるウインドウの違いがあります。
ExcelはWordと違い、置換する際のオプションの数が乏しいです。


すなわち柔軟な設定で置換することができないということ。
大きな特徴として「\n」のような改行コードや「*」「?」といったワイルドカードが使えません。
そういった制約の中で改行を削除する方法をご紹介します。

ワイルドカードの代わりに「CHAR(10)」

ワイルドカードが使えないExcelでは、CHAR関数を使って改行コードを引き出すと良いでしょう。
CHARはExcelの関数です。
指定された数字に当てはめられた文字を返してきます。

support.microsoft.com

その数字の10が改行コードにあたります。
このCHAR(10)と文字列が置換できる関数と一緒に使うことで改行を消すことが出来ます。
置換できる関数はいくつかありますが、SUBSTITUTEを使うと良いでしょう。

support.microsoft.com

元のセルから離れたところに置換後の文章を入れるスペースを作っておき、次のような数式を入力します。

=SUBSTITUTE(B2,CHAR(10),"")

第1引数のB2は置換するセル第2引数のCHAR(10)は置換する文字列第3引数の「""」は置換後の文字列です。
これでB2の改行を無くすという意味になります。

以下の画像は入力結果です。

出てきた文字列をどこかで使う場合コピーしてそのまま貼り付けするのではなく、値の型式をで貼り付けることをおすすめします。

サクラエディタ等のメモソフトは使えないのか?

Excelの値をコピーしてテキストエディタに貼り付け、その中の置換機能で処理するという手もあります。
ただ、複数のセルを置換する場合は効果的ではありません。

というように、形が崩れてしまいもう一度Excelに貼り付けすることが出来なくなってしまいます。
また、「\n」の改行コードで検索すると、セルの間をまたぐ部分も改行と判定されるため、余分な改行も消してしまいます。
まだ未開拓のアプローチがあると思いますが、出来ればExcel内で完結できることが望ましいかもしれません。
それかそもそもExcelを諦めて別の型式でまとめることを考えるべきか(おい)

まとめ

  • CHAR(10)が改行コードを意味する
  • 置換の関数はSUBSTITUTEで

以上、Excelの改行を消す方法でした。
これ以外にもWordやPowerPointで気になることがありましたら
ぜひコメント等で書いてみてください。
答えられる範囲で答えてみます。

それではまた来週~。