楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

エクセルで置換できる関数は?SUBSTITUTE関数を使って特定の文字を別の文字に置き換えよう!

9 min 8,129 views
エクセル初心者

エクセル初心者

関数を使って置換ができるって聞いたんだけど、関数を使って置換するメリットにはどんなことがあるの?

入力済みのデータを修正するだけならエクセルの置換の機能を使ってもいいけど、追加が多いデータの置換は関数を使ったほうが便利だよ。

Dr.オフィス

Dr.オフィス

エクセルには関数を使わずに置換できる機能がありますが、修正前と同じ文字が追加された場合はその都度置換する必要があります。

関数を使った置換の場合は、オートフィルで計算式をコピーすると追加されたデータが自動的に置換されるので、追加が多い書類を修正したいときは関数を使った置換が便利です。

SUBSTITUTE関数を使って文字を置換する簡単ステップ
  1. 置換後の文字を出力する列を挿入
  2. SUBSTUTUTE関数を挿入
  3. 検索したい文字列が挿入されているセルを選択
  4. 検索する文字列を入力
  5. 置換後の文字列を入力
  6. Enterで数式を確定

パソコン教室インストラクター歴10年の経験を持つ私が、関数を使った置換の方法をわかりやすく解説するね。

Dr.オフィス

Dr.オフィス

エクセルで文字を置換する方法はいくつかありますが、それぞれ違う特徴があります。

修正したい内容やデータの追加の頻度などによって使い分けることで、作業効率が変わります。

この記事では、関数を使った文字の置換の手順と「検索と置換」との違いについてわかりやすく解説していますので、参考にしてみてください。

エクセルの置換に関する基本的な操作と応用的な使い方は、≫エクセルの置換を使いこなそう!【基本から応用まで徹底解説】で紹介していますので、こちらの記事もぜひご覧ください。

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

エクセルで置換ができるSUBSTITUTE関数とREPLACE関数とは?

エクセルで置換ができる関数には、「SUBSTITUTE関数(サブスティテュート関数)」と「REPLACE関数(リプレイス関数)」があります。

エクセル初心者

エクセル初心者

SUBSTITUTE関数とREPLACE関数は何が違うの?

どちらも文字を置換できる関数なんだけど、文字の検索の仕方と置換の指定方法が違うんだ。

Dr.オフィス

Dr.オフィス

SUBSTITUTE関数とREPLACE関数の書式を比較すると、以下のような違いがあります。

  • SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
  • REPLACE(文字列,開始位置,文字数,置換文字列)
エクセル初心者

エクセル初心者

書式だけだと違いがよくわからないな。

この2つの関数を使って、文字を置換してみるよ。

Dr.オフィス

Dr.オフィス

これは、A2に入力されている「あいうえお」の「う」の文字をSUBTITUTE関数とREPLACE関数を使って「〇」に置換したものです。

関数の計算結果だけを見るとどちらも同じですが、関数の引数を比べると内容が異なっていますよね。

引数の意味の違いを表すとこのようになります。

SUBTITUTE関数の引数はエクセルの置換の機能と同じですが、REPLACE関数は置換したい文字列の位置と数を指定して置換したい文字を入力します。

検索する文字列の文字数・位置・置換したい文字の数・置換後の文字がすべて同じ場合はREPLACE関数は便利ですが、文字数が異なるデータが混在しているときはSUBSTITUTE関数が便利です。

SUBSTITUTE関数を使って文字列を置換してみよう

SUBSTITUTE関数で文字を置換する前に、もう一度関数の書式を確認しておきましょう。

SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)

  • 文字列:置換したい文字が入力されている場所
  • 検索する文字列:置換したい文字
  • 置換文字列:置換後の文字
  • 置換対象:どこを置換するか(省略するとすべてが置換される)

文字の説明だとよくわからない場合は、≫引数の意味の違いの画像を参考にしてみてね。

Dr.オフィス

Dr.オフィス

特定の文字を置換する

SUBSTITUTE関数は、検索する文字の位置、検索する文字、置換後の文字を入力するだけなので比較的簡単に入力することができます。

SUBSTITUTE関数を使って商品名の「PC」を「パソコン」に置換してみましょう。

  1. STEP

    元データを開く

    元データを開きます。

  2. STEP

    SUBSTITUTE関数を入力する列を挿入する

    関数を挿入するための列を作成します。

    1. B列の上で右クリック
    2. 挿入を選択
  3. STEP

    見出しを入力

    置換後の文字列であることがわかるように見出しを入力します。

  4. STEP

    関数を挿入するセルを選択

    関数を挿入するセルを選択します。

  5. STEP

    SUBSTITUTE関数を選択

    1. 「=su」と入力
    2. SUBSTITUTEをダブルクリック
  6. STEP

    検索する元の文字列が入力されているセル(A2)をクリックする

    検索する元の文字が入力されているセル(A2)をクリックしてから、半角で「,」を入力します。

  7. STEP

    検索する文字列と置換後の文字列を入力

    SUBSTITUTE関数の続きを入力します。

    1. 検索する文字列の引数にところに「”PC”」と入力
    2. 「,」入力して区切る
    3. 置換する文字列の引数のところに「”パソコン”」と入力
    4. 最後に「)」を入力して関数を閉じる

    「=SUBSTITUTE(A2,”PC”,”パソコン”)」と入力されていればOKです。

    最後にEnterで数式を確定します。

  8. STEP

    関数を入力したセルをクリックして計算式をコピーする

    赤枠で囲まれた部分をダブルクリックして計算式をコピーします。

  9. STEP

    「PC」を「パソコン」に置換できた

    すべての文字を置換することができた
    すべての文字を置換することができた

    すべての文字を置換することができました。

複数の特定の文字を置換する

複数の文字を置換する場合も、一か所だけ置換する場合と手順は同じです。

ただし、SUBSTITUTE関数を1つだけ挿入した場合、検索する文字列と置換後の文字列は1つずつしか入力することができないため、2つ置換したいときは2つ、3つ置換したいときは3つ、SUBSTITUTE関数をネストする必要があります。

例えば、1丁目X番X号を1-X-Xに置換したい場合は、「丁目→-(ハイフン)」、「番→-(ハイフン)」、「号→空白」に置換する必要があるので、SUBSTITUTE関数を3つ重ねて使います。

ネストとは入れ子とも呼ばれているもので、関数の中にさらに関数を入れて使うときに使われる言葉だよ。

Dr.オフィス

Dr.オフィス

この顧客名簿を使って、複数箇所の文字を同時に置換してみましょう。

  1. STEP

    関数を挿入する列を挿入してセルを選択

    関数を挿入する列を挿入してセルを選択します。

  2. STEP

    SUBSTITUTE関数を3つ挿入する

    「=su」を入力すると候補の関数名が表示されるので、SUBSTITUEをダブルクリックします。

    続けて「su」を入力してSUBSTITUEをダブルクリック、もう一度「su」を入力してSUBSTITUEをダブルクリックします。

    画面上に「=SUBSTITUE(SUBSTITUE(SUBSTITUE(」と入力されていればOKです。

  3. STEP

    検索に使う文字が入力されているセルと1つ目の検索する文字列と置換後の文字列を入力

    検索に使う文字が入力されているセルと、1つ目の検索する文字列と置換後の文字列を入力していきます。

    記号はすべて半角で入力してください。

    1. 「C3」をクリック
    2. 「,」を入力
    3. 「”丁目”」を入力
    4. 「,」を入力
    5. 「”-“」を入力
    6. 「)」を入力

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C3,”丁目”,”-“)」と表示されていれば、正しく入力されています。

  4. STEP

    2つ目の検索する文字列と置換後の文字列を入力

    2つ目以降は検索に使う元の文字のセルは選択されている状態なので、検索する文字列と置換する文字列のみを入力していきます。

    STEP3の計算式の続きを入力します。

    1. 「,」を入力
    2. 「”番”」を入力
    3. 「,」を入力
    4. 「”-“」を入力
    5. 「)」を入力

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C3,”丁目”,”-“),”番”,”-“)となっていればOKです。

  5. STEP

    3つ目の検索する文字列と置換後の文字列を入力

    3つ目の検索する文字列と置換後の文字列を入力します。

    STEP4の続きを入力します。

    1. 「,」を入力
    2. 「”号”」を入力
    3. 「,」を入力
    4. 「””」を入力
    5. 「)」を入力
    6. Enterで数式を確定

    最終的に=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C3,”丁目”,”-“),”番”,”-“),”号”,””)になっていれば完成です。

  6. STEP

    複数の文字を一度に置換することができた

    「丁目」と「番」を半角のハイフンに「号」を空白に置換できた
    「丁目」と「番」を半角のハイフンに「号」を空白に置換できた

    「丁目」と「番」を半角のハイフンに、「号」を空白にまとめて置換することができました。

  7. STEP

    完成した数式をコピーする

    関数を挿入した一番上のセルをクリックし、赤枠の部分をダブルクリックして数式をコピーしましょう。

  8. STEP

    すべてのセルの複数の文字を一度に置換できた

    すべてのセルの複数の文字を一度に置換することができました。

SUBSTITUTE関数は最大64までネストすることができますが、一度にたくさんの文字を置換してしまうと計算式が長くなり、入力ミスにつながります。

計算式の内容もわかりにくくなるので注意してくださいね。

置換したい文字をセルに入力して置換する

エクセル初心者

エクセル初心者

SUBSTITUE関数を使って複数箇所の文字を一度に置換する方法はわかったけど、計算式が長くなってよくわからなくなっちゃうんだよね。

関数を使って複数箇所を一度に置換したい場合は、あらかじめ空いているセルに検索する文字を入力しておくと数式がわかりやすくなるよ。

Dr.オフィス

Dr.オフィス

複数箇所の文字を同時に置換したい場合、計算式が長くなってしまうだけではなく、半角と全角を切り替えながら入力しなければならないのでちょっと面倒ですよね。

空いているセルに検索する文字をあらかじめ入力しておけば、計算式が見やすくなるだけではなく直接入力の状態ですべての計算式が入力できるというメリットもあります。

計算に使用した列を表示したくない場合は非表示にすることもできます。

非表示にしても関数の結果は正しく表示されるので、計算式の入力のときに半角と全角を切り替えるのが面倒という場合はこの方法を試してみてください。

  1. STEP

    SUBSTITUE関数を3つネストして1つ目の検索する文字列と置換後の文字列を入力

    D3のセルをクリックします。

    1. 「=su」を入力したらSUBSTITUEの文字をダブルクリック、suを入力してSUBSTITUEの文字をダブルクリック、もう一度suを入力してSUBSTITUEの文字をダブルクリックする
    2. C3をクリックする
    3. 「,」を入力
    4. G3をクリックしてF4を押す(このとき、Gの両側に$がつかなかったときはF4を何度か押す)
    5. 「,」を入力
    6. 「”-“」を入力
    7. 「)」を入力

    =SUBSTITUE(SUBSTITUE(SUBSTITUE(C3,$G$3,”-“)」になっていればOKです。

  2. STEP

    2つ目の検索する文字列と置換後の文字列を入力

    2つめの検索する文字列と置換する文字列を入力します。

    STEP1で入力した計算式の続きを入力していきます。

    1. 「,」を入力
    2. H3をクリックしてF4を押す
    3. 「,」を入力
    4. 「”-“」を入力
    5. 「)」を入力

    =SUBSTITUE(SUBSTITUE(SUBSTITUE(C3,$G$3,”-“),$H$3,”-“)になっていればOKです。

  3. STEP

    3つ目の検索する文字列と置換後の文字列を入力

    3つ目の検索する文字列と置換後の文字列を入力します。

    STEP2で入力した計算式の続きを入力していきます。

    1. 「,」を入力
    2. I3をクリックしてF4を押す
    3. 「,」を入力
    4. 「””」を入力
    5. 「)」を入力

    =SUBSTITUE(SUBSTITUE(SUBSTITUE(C3,$G$3,”-“),$H$3,”-“),$I$3,””)」になっていればOKです。

    計算式に誤りがないことを確認して、Enterで数式を確定します。

  4. STEP

    数式をコピーする

    D3をクリックして赤枠の部分をダブルクリックして数式をコピーしましょう。

  5. STEP

    関数に使用したG~I列を非表示にする

    1. G~I列を選択して右クリックする
    2. 非表示を選択
  6. STEP

    関数で使ったセルを非表示にして計算式が挿入できた

    計算に使用した列を非表示にして計算結果を表示することができました。

新規顧客が増えるたびにデータを追加する必要がある顧客リストのようなデータは、関数を使った置換はとても便利なのでぜひマスターしてみてね。

Dr.オフィス

Dr.オフィス

エクセルの置換とSUBTITUTE関数の違い

エクセル初心者

エクセル初心者

エクセルの置換とSUBSTITUTE関数はどう使い分ければいいの?

使いやすいほうを使うのがベストだけど、エクセルの置換とSUBTITUTE関数の違いから選ぶのも1つの方法だよ。

Dr.オフィス

Dr.オフィス

エクセルの置換とSUBSTITUTE関数には、以下のような違いがあります。

エクセルの置換SUBSTITUTE関数
置換する前の文字列残らない残る
数式の置換できるできない
データを追加したときの処理再度置換する必要があるオートフィルでコピーすれば追加したデータを置換できる
複数個所を一度に置換することが可能かできないできる
エクセルの置換とSUBSTITUTE関数の違い

これらの違いについて、それぞれ詳しく解説していきます。

置換する前の文字列

エクセルの置換は、置換の操作を行うと検索する文字列は置換後の文字列に上書きされるため、操作前の文字はなくなってしまいます。

一方、SUBSTITUTE関数は、SUBSTITUTE関数を挿入する列を作成して置換後の文字列を出力するので、置換前のデータと置換後のデータの両方を表示することができます。

どこを置換したのか残しておきたいという場合は、関数を使ったほうが便利だよ。

Dr.オフィス

Dr.オフィス

数式の置換

エクセルの置換は数式も置換することができますが、SUBSTITUTE関数で置換できるのは文字列のみです。

SUBSTITUTE関数は、数式を置換することができないので注意してください。

数式を置換したいときは、「検索と置換」を使おう!

Dr.オフィス

Dr.オフィス

データを追加した後の処理

エクセル初心者

エクセル初心者

CSV形式のデータを取り込んでエクセルで処理してるんだけど、エクセルの置換を使うと新しいデータを追加したらその都度置換しなくちゃいけないってことだよね?

そのとおり。追加が多いデータの場合は関数を使った置換のほうが便利だね。

Dr.オフィス

Dr.オフィス

エクセルの置換は追加されたデータを自動的に置換する機能はないので、修正が必要なデータを追加したらその都度必要な部分は置換しなければなりません。

SUBSTITUTE関数は計算式で文字を置換をしていますので、同じ条件で置換したい場合はオートフィルで計算式をコピーすれば必要な箇所を簡単に置換することができます。

複数箇所を一度で置換が可能か

検索と置換では、「検索する文字列」と「置換する文字列」は1か所ずつしか入力することができないため、複数箇所の修正がある場合は、1つずつ置換する必要があります。

SUBSTITUTE関数は、関数のネスト(関数の中に関数を埋め込むこと)ができるので、複数箇所の修正も一度で置換することができます。

SUBSTITUTE関数は最大で64個までネストできるけど、数が多くなると計算式が長くなってわかりにくくなるから注意してね。

Dr.オフィス

Dr.オフィス

エクセルで関数を使った置換に関するQ&A

Q

エクセルで文字列を置換したいときはどうすればいいの?

A

エクセルで文字を置換したいときは、「検索と置換」を使う方法と「関数を使って置換する」方法があります。どちらを使っても問題ありませんが、追加が多いデータの場合は関数を使った置換がおすすめです。
詳しい解説は、≫エクセルの置換とSUBTITUTE関数の違いをご覧ください。

Q

エクセルのSUBTITUTE関数は何個まで置き換えられる?

A

最大で64個まで置き換えることができます。
ただし、ネストの数が多くなると計算式が長くなり、入力ミスにつながる可能性が高くなります。
計算式もわかりにくくなるので注意してください。

Q

REPLACE関数とSUBTITUTE関数の違いは?

A

どちらも文字列を置換できる関数ですが、置換する文字列の指定の仕方に違いがあります。
詳しくは、≫エクセルで置換ができるSUBSTITUTE関数とREPLACE関数とは?をご覧ください。

追加があるデータの文字の置換は関数がおすすめ!

エクセルで文字を置換する方法はいくつかありますが、追加することが多いデータはSUBSTITUTE関数が便利です。

「関数ってなんだか難しそうでちょっと苦手」という方も多いかもしれませんが、本記事では引数の入力方法をわかりやすく解説していますので、ぜひ挑戦してみてください。

最後に、SUBSTITUTE関数の入力方法をおさらいしておきましょう。

おさらい
  • SUBSTITUTE関数を挿入するための列を作成する
  • SUBSTITUTE関数を挿入して検索したい元の文字列が入力されているセルを選択
  • 検索する文字列と置換する文字列ををダブルクォーテーションで囲んで入力する
  • Enterで数式を確定する

追加の多いデータの文字列の置換は、関数を使うと便利です。

膨大なデータや追加の多いデータの文字の置換は、SUBSTITUTE関数を活用してみてください。

こちら≫エクセルの置換を使いこなそう!【基本から応用まで徹底解説】では、エクセルの置換の便利な使い方を紹介していますのでぜひご覧ください。

関連記事