Introduction
Ver. all 2013 2016 2019 2021 365
エクセルでデータを他の場所からコピーしてきたりインポートした場合に、改行を削除して1行にしたい場合があります。
そのような時に使用できるやり方を4つ紹介します。
1番簡単な方法は、置換機能だにゃ
改行を消さずに見た目だけ修正する方法
この方法は改行を削除する方法ではありません。見た目だけ1行にする方法です。
場合によっては1番簡単な方法なので紹介しておきます。
下の表は改行が途中に入り、各セルは3行になっています。
とりあえず1行の見た目にしたい場合は、選択して、
[ホーム]タブ → [折り返して全体を表示する]の場所を見てみましょう。ボタンが押された状態になっていますね。改行が入ったセルは自動的にこの設定がONになります。
この場所を押して、ボタンをオフにすれば、
折り返しが無くなって、1行で表示されます。
しかし、改行が削除された訳ではありません。実際にセル「A1」をダブルクリックしてみると、結局3行で表示されます。
この方法は、とりあえずの対処法でしかないので、おすすめはできません。改行が必要無いのであれば、この後に説明する方法でしっかり削除しましょう。
置換機能を使用する方法
置換機能とは、文字列を他の文字列に置き換えてしまう機能です。
例えば表内の「東京都」という文字列を一括して「都内」に変更する場合などに使用する便利な機能です。
今回の場合は「改行」を「空欄」に置き換えてしまえば、改行を削除することになりそうですね。
では、やってみましょう。
まず、置換する場所を選択します。
今回の場合はA列を選択。
※一定の場所を選択しなかった場合は、ブック全体が置換対象になります。
[ホーム]タブ → [検索と置換]をクリック。
拡大するとこんな感じ。
クリックして表示された一覧から、[置換]を選びます。
すると表示されるのが下の画面。
この[検索と置換]の画面ですが、ショートカットキーの「CTRL」+「H」で表示することができます。他のソフトウェアでも使用できる場合が多いので、覚えてしまうのがお勧めです。
さて、この画面で[検索する文字列]に「改行」を指定したいのですが、改行は目に見えるものではありません。しかし、目に見えなくても入力することができます。
[検索する文字列]の場所をクリックした後に、【CTRL】キーを押しながら、【J】キーを押します。
見た目は何も変わりませんが、実際には改行が挿入されます。
※心配になって何度も【CTRL】+【J】を押さないようにしましょう。複数の連続改行が置換対象になってしまいます。
下の[検索後の文字列]はそのままの状態にしておけば空欄に置き換えられます。
見た目は全く変わらないので不安になりますね。そのまま左下の[すべて置換]をクリックします。
今回の場合は、1セルに2つの改行×5セル。合計10件の改行が空欄に置換されました。
「あれ?」あまり変わらないような・・・。残念ながら列幅は自動で変更されません。列幅を広げてみると、
ちゃんと改行が削除され、1行になっているのが分かります。
CLEAN関数を使用する方法
CLEAN関数を使用したやり方です。
CLEAN関数・・・印刷できない文字を、文字列から全て削除する
CLEAN(文字列)
- 文字列・・・削除したい文字を含む文字列データを指定
印刷できない文字とは、具体的にはプリンターや通信装置を制御するための文字(特殊文字)のことです。
しかし、難しく考えず「CLEAN関数は改行を削除できる」と覚えておきましょう。
今回は、隣のセルを使用します。「B1」を選択して、[関数の挿入]ボタンをクリック。
CLEAN関数を選びます。[関数の分類]に「文字列操作」を選ぶと探しやすいですよ。
引数は、改行を削除したいセルをクリックするだけです。
[OK]を押せば、改行が消されて1行で表示されます。
そのままオートフィル機能を使用して、下にコピーしましょう。
全て1行になりました。
まだ終わりません。
このままだと関数で表示している状態なので、元の左列を削除してしまうとエラー表示になってしまいます。
関数を消して文字列にする必要がありますね。
表示されたセル範囲を選択して、[コピー]をクリック。
[貼り付け]ボタンを押して、[値の貼り付け]の[値]の場所をクリックです。
これで、関数の代わりに文字列として貼り付けられました。元の列を削除しても安心です。
SUBSTITUTE関数を使用する方法
おまけで、SUBSTITUTE関数を使用する方法です。
改行を消すだけなら、先ほどのCLEAN関数で十分なのですが、SUBSTITUTE関数は覚えておくと他の場面でも役立ちますよ。
SUBSTITUTE関数・・・文字列中の指定した文字を、新しい文字で置き換える関数
SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象[省略可])
- 文字列・・・置換対象のセルを選択
- 検索文字列・・・置き換え前の文字列を指定
- 置換文字列・・・置き換え後の文字列を指定
- 置換対象・・・置き換え前の文字列で同じものがある場合、何番目を削除したいか数字で指定
今回の場合は、改行を空欄に置き換えることになります。
CLEAN関数と同じで、[関数の分類]を「文字列操作」にすると探しやすくなります。
引数は下のようになります。
- [文字列]・・・「A1」
- [検索文字列]・・・「”char(10)”」
- [置換文字列]・・・「””」
- [置換対象]・・・省略
=SUBSTITUTE(A1,"char(10)","")
言葉で言うと、「A1」の文字列の中で「char(10)」を「””」に置き換えてということ。
char(10)はCHAR関数という関数を使用しています。この関数は、数値を文字に変換する関数で、コンピュータ内部のコードを文字に変換する場合に使用します。
コンピュータ内部の文字セットで「10」という数字が改行に割り当てられているということ。
例えばchar(9)には「Tab」が割り当てられていたりします。
また、「””」は空欄の意味。これはエクセルでは良く使用しますね。
説明が長くなりましたが、先ほどの引数を入力して[OK]をクリックすれば、改行が消され1行で表示されます。
この「SUBSTITUTE関数」は他の文字列を置き換えたい場合にも使用できるので便利ですね。
まとめ
改行を削除する必要が無い場合は最初の方法が1番簡単ですね。
それとは別に、【Alt】+【Enter】でセル内の改行をすると、自動的に[折り返して全体を表示する]ボタンがONになるのは覚えておくと良いかもしれません。
また、CLEAN関数は出番が限られますが、「SUBSTITUTE関数」は様々な場面で活躍できるので覚えておいて損はしない関数だと思います。
改行を消すだけでも色々あるんだにゃー