よつ葉ナビ

WebサービスやPCソフトの使い方、日々思うことを綴るサイトです

エクセルで特定の文字を削除する関数の使い方まとめ

      2018/01/16

エクセルで特定の文字を削除

エクセルで、特定の文字を関数で削除する方法 について紹介します。
使う関数は、「SUBSTITUTE関数」だけです。

SUBSTITUTE関数の使い方を覚えれば、以下のような事が簡単にできるようになります。

  • 郵便番号や電話番号の「-(ハイフン)」だけを削除する
  • 会社名の「(株)」の文字だけを削除する
  • 名前の「様」だけを削除する
  • セルに含まれる「空白」を削除する

SUBSTITUTE関数の「使い方」と、5つの「具体例」を元に、指定の文字を削除する方法を見ていきましょう。

SUBSTITUTE関数の使い方

SUBSTITUTE関数とは、文字列の中に含まれる特定の文字を、別の文字に置き換えることができる関数 です。

=SUBSTITUTE(文字列, 検索文字列, 置換文字列)

■特定文字の削除に使う場合

文字列 削除したい文字が含まれる大元の文字列を指定。
セル番地を指定しても良い。
検索文字列 削除したい文字を入力。
置換文字列 「""(空の文字)」を入力。

本来は、文字を置き換えるために使う関数ですが、置換文字列 に「""(空の文字)」を指定することで、指定の文字を削除することができます。

使用例1: 郵便番号や電話番号の「ハイフン」を削除する

「150-0000」という7桁の郵便番号から、ハイフン(-)だけを削除して、「1500000」としたい場合は、以下のようにします。

ハイフンを削除

=SUBSTITUTE( A2, "-", "" )

上の図では、セルA2「150-0000」という文字列の中から、「-」を検索して「""(空の文字)」に置き換えています。結果、セルB2に「1500000」という文字列が表示されています。

3つ全ての行に同じ処理を適用させたい場合は、セルB2の式をドラッグするだけです。

全ての行に適用

ハイフンが2つある場合はどうでしょうか?
郵便番号とは違って複数のハイフンが含まれる「電話番号」も、郵便番号の場合と同じ式でハイフンを取り除くことができます。

ハイフンが2つ以上あってもいい

検索文字列を変えれば、ハイフンだけではなく「様」や「(株)」といった文字も削除できます。郵便番号や電話番号だけでなく、銀行の「口座番号」や「住所」「氏名」など、色んな場面で使えるでしょう。

使用例2: 複数の文字を指定して同時に削除する

「〒150-0000」のような文字から、「〒」と「-」の両方を同時に削除して、「1500000」にしたい場合は、以下のようにSUBSTITUTE関数を2つ組み合わせて使います。

指定したい文字が複数ある場合

=SUBSTITUTE( SUBSTITUTE( A2, "〒", "" ), "-", "" )

まず、ピンクのマーカーの部分で「〒」を取り除きます。「〒」が取り除かれた「150-0000」という文字列が、外側のSUBSTITUTE関数の引数として渡されます。

次に、外側のSUBSTITUTE関数が「150-0000」から「-」を取り除き、「1500000」という文字列にします。結果、セルB2に「1500000」が表示されます。

 

このように、関数の中に関数を入れて使うことを、関数のネスト(入れ子)と言います。「関数が出力したデータ」を外側にある関数に渡して「引数」として使えるわけです。

この仕組みを応用すれば、3つだろうが4つだろうが、いくつでも組み合わせて、複数の特定の文字を同時に削除することが可能です。

■3つ入れ子にして使った例

ネストで関数を3つ組み合わせる

=SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( A2, "(株)", "" ), "〒", "" ), "-", "" )

使用例3: 半角と全角の空白を両方削除する

「半角」と「全角」の空白(スペース)は、それぞれ別の文字として認識されます。

そのため、半角と全角の空白を両方とも削除したい場合には、上で紹介した入れ子を使って「半角の空白」と「全角の空白」を両方指定します。

半角と全角どちらの空白も取り除く

=SUBSTITUTE( SUBSTITUTE( A2, " ", "" ), " ", "" )

この例では、内側の関数で「半角」のスペースを削除し、外側の関数で「全角」のスペースを削除しています。

空白以外にも、ハイフン、カタカナ、アルファベットなども同様に半角と全角が区別されます。

使用例4: 大文字と小文字のアルファベットを両方削除する

「大文字」と「小文字」のアルファベットなども区別されます。例えば、「A」と「a」は別の文字として扱われるので、両方削除したい場合は、関数を入れ子にして2つとも指定します。

大文字と小文字どちらも取り除く

=SUBSTITUTE( SUBSTITUTE( A2, "A", "" ), "a", "" )

この例では、内側の関数で「大文字」のAを削除し、外側の関数で「小文字」のaを削除しています。

「全角/半角」と同じように、「大文字/小文字」も区別されることを覚えておきましょう。

アルファベットのみを全て削除する方法については、「アルファベットを削除する方法」で詳しく解説していますのでそちらをご覧下さい。

使用例5: 特定の文字をセルで指定して削除する

削除したい文字を、SUBSTITUTE関数に直接入力するのではなく、セルで参照しても構いません。

セルで指定した文字を削除

=SUBSTITUTE( A2, $D$2, "" )

「特定の文字」をセルで参照する場合は、絶対参照を忘れないようにしましょう。絶対参照は、セルを指定したときにF4キーを押せば付けることができます。

削除したい文字が数多くある場合は、ここで紹介したように、削除したい文字を一元管理しておいて、そのつど参照するのが分かりやすくて便利でしょう。

また、「やっぱりハイフンはあった方がいい」という場合にも、付け替えが容易になります。

関数を使わずに指定文字を削除する

最後に、関数を使わずに、特定の文字を削除する方法についても触れておきます。

キーボードで「Ctrl + H」と押すと、「検索と置換」ダイアログボックスが表示されます。

「150-0000 」といった文字列から「-(ハイフン)」だけを取り除く場合の手順は以下の通りです。

検索と置換ダイアログ

  1. 「検索する文字列」に「-(ハイフン)」を入力
  2. 「置換後の文字列」には何も入力しない
  3. 「すべて置換」をクリックして処理を実行する

指定の範囲のみ削除したい場合は、必ず適用させたい範囲を選択してから行って下さい。例えば、A列のみ「-」を削除したい場合は、AをクリックしてA列のみ選択してから置換を行います。

A列のみ置換を行う場合

「検索と置換」ダイアログボックスを使う方法は、関数を使わないのでとても手軽で簡単ですが、SUBSTITUTE関数を使う場合とは違って、元の値は残さずにそのまま編集してしまうことに注意して下さい。

元の値も残したい場合は、上で紹介したSUBSTITUTE関数を使ったほうがいいです。

指定の文字を削除する方法についての情報は以上です。

 - Excel, ソフト・ツール