【Excel】置換機能と置換ができる関数を解説!数値の一括変更をする方法

文字列の一部だけを別の文字列に置き換えられるSUBSTITUTE関数とREPLACE関数をご紹介します。「大量のデータを修正したい」「文字列のここだけを○○に置換したい」というときに便利な関数です。

【Excel】「大量のデータを修正したい」 そんなときはSUBSTITUTE関数とREPLACE関数で時短しよう

商品リストや顧客データ、住所録など、データベースなどを修正したいときに使えるMicrosoft Excel(以下、Excel)のテクニックをご紹介します。たとえば、「商品コードの一部だけを変えたい」「電話番号のハイフンを削除したい」というとき、一つひとつ手作業で修正するのは大変ですよね。

そこで今回は、Excelの置換機能について詳しく解説します。さらに、文字列の一部だけを別の文字列に置き換えられるSUBSTITUTE関数REPLACE関数もご紹介します。「大量のデータを修正したい」「文字列のここだけを○○に置換したい」というときに便利な関数なので、併せて覚えておきましょう。

 

Excelの文字の置換を一瞬で行う方法

「Excelのデータを置き換えたい!」、そのようなときには「置換」機能を使うのが便利です。「Ctrl+H」のショートカットキーで「検索と置換」のダイアログボックスを呼び出すことができます(「ホーム」タブ→「編集」→「置換」でも可)。

「検索と置換」が表示されたら、置換したい文字を「検索する文字列」に入力し、代わりに置き換える文字を「置換後の文字列」に入力します。最後に「すべて置換」もしくは「置換」をクリックすれば特定の文字を置換できます。

なおこの際、「すべて置換」にすると表示されているシート上の該当箇所がすべて置換されます。一方、「置換」の場合は、一か所ずつ置き換えられ、「置換」を押すごとに該当箇所が順番に文字が置き換わります。

 

置換のオプションを使えば、いろいろなパターンの置換ができる

デフォルトの置換機能では、以下のようなことはできません。

・大文字と小文字は区別されない
・半角と全角は区別されない
・書式設定の検索・置換はできない
・ブック全体を検索できない(表示されているシートのみ)

置換のオプションを駆使すれば、上記の置換もできるようになります(置換のダイアログボックスの「オプション」をクリックすると、さまざまな設定ができます)。

 

ワイルドカード・セル内改行など!Excel置換のチョイ技テクニックを紹介

置換後の文字列を空欄にして置換をすれば、「検索する文字列」の削除もできます。このテクニックも便利なので、覚えておきましょう。

さらに、ワイルドカードもよく使われるテクニック。「*」(アスタリスク)と「?」(クエスチョン)を、ワイルドカードとして使います。

【置換における「*」 と 「?」 の違い】
・*(アスタリスク):0文字以上の任意の文字列(文字数は複数にも対応)
・?(クエスチョン):任意の1文字(文字数はあくまで1文字)

例えば、以下のような表でカッコ【 】を削除する場合、検索する文字列には「【*】」と入力し、置換する文字列は空欄にして置換をします。そうするとカッコの部分を削除できます。

「セル内改行の削除」も置換機能の優れたテクニックの一つです。Excelでは「Ctrl+J」が改行コードとして定められており、検索する文字列にカーソルを置いて「Ctrl+J」を押して置換をすればセル内改行が削除されます。

この際、改行コード「Ctrl+J」を押しても入力欄には何も表示されませんが、それでOK。そのまま置換をすれば、セル内改行を一括で削除できます。

 

特定の文字列を検索し、それを別の文字列に置換するSUBSTITUTE関数

通常の置換機能では、セル内に置換する文字が複数含まれている場合、検索した文字列に該当する部分がすべて置換されてしまいます(たとえば、「03₋1234₋5678」のハイフンを1つだけ置換することはできない)。

その他にも粗い部分が見られるので、より高度な置換をするなら関数を使うのがおすすめです。続いては、データの一括変更に便利な置換の関数を紹介していきます。

その一つがSUBSTITUTE 関数です。これは、文字列の中の一部だけをほかの文字列に置き換える関数です

式は「=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)」で定義されます。引数が多いですが、落ち着いて見ていけば使い方自体は難しくないので安心してください。

上記の例では「‐(ハイフン)→★」に置換していますが、置換対象にあたる部分は省略しています。置換対象は「文字列のなかの○番目に登場するものだけを置換したい」という時に使います。

たとえば、置換対象に「2」を入れたら、「文字列に含まれる検索文字列で2番目に出てくるもののみを置換文字列に置き換える」という意味になります。

つまり、置換対象を省略すれば検索対象がすべて置換され、値を入れれば○回目に登場する検索対象のみが置換されるということです。

SUBSTITUTE関数を応用して、同時に複数の箇所を修正する

SUBSTITUTE関数をネスト(入れ子、多重構造)にすることで、一つの文字列に対して同時に複数箇所を置換できます。以下の例ではA2セル「株式会社ABC 様」をSUBSTITUTE関数のネストで「(株)ABC 御中」に変換しています。

このようにSUBSTITUTE関数を二重にすることで、一つの文字列に対して同時に複数の修正を入れることができます。この方法を応用すれば何カ所でも同時に置換することができます。

<関連>
ダウンロード可能:PCスキルシートのサンプル(doda)

 

○文字目から○文字目までを置換するREPLACE関数

SUBSTITUTE関数は「文字の中身」を置換の対象とするのに対し、REPLACE関数「文字の位置」を基準に別の文字列に置き換える関数です。式は「=REPLACE(文字列,開始位置,文字数,置換文字)」で定義されます。

REPLACE関数の置換文字を指定しなければ、「○文字目から○文字目まで削除」もできる

上記の例では文字列を置換しましたが、引数の「置換文字」に何も代入しなければ、「○文字目から○文字目まで削除」という結果になります。

ちなみに、SUBSTITUTE関数も同様で、置換文字列にあたる部分を「“”」とすれば、検索文字列を削除することができます。文字列の余計なところだけを取り除きたいという時に便利なので、こちらのテクニックも覚えておきましょう。

 

文字列の関数を使えば、無駄な時間を減らすことができる

今回はExcelの置換機能に加えて、SUBSTITUTE関数とREPLACE関数をご紹介しました。繰り返しになりますが、「大量のデータを修正したい」「文字列のここだけを○○に置換したい」という時に大変便利です。

手作業でやっていたら数時間かかるものが、この関数を使えば数秒で終わってしまいます。できるだけ関数を駆使して、仕事をサクッと終わらせましょう!

 

【参考記事】
Excel(エクセル)記事まとめ
覚えておけば残業知らず!Excel時短記事まとめ
見づらい資料からサヨナラ!Excel資料作成記事まとめ
覚えて仕事を効率化!Excel関数記事まとめ
PowerPoint(パワーポイント)記事まとめ

page top