Excel(エクセル)REPLACE関数の使い方|文字列の置換、特定文字の挿入
使用関数:REPLACE
REPLACE関数とは?
REPLACEは指定した位置にある指定した数の文字を別の文字列に置換する関数です。
REPLACEの読み方と意味
REPLACEは取って代わる、入れ替えるという意味の英語で、リプレイスまたはリプレースと読みます。
引数の指定によっては特定の文字列を挿入する使い方もできます。
SUBSTITUTEとの違い
文字列を置換する関数にはREPLACEの他にもう一つSUBSTITUTEがあります。
検索文字列の指定の違い
REPLACE関数が置き換える位置と置き換える文字数で検索文字列を指定するのに対して、SUBSTITUTEは引数「検索文字列」でストレートに指定します。以下はREPLACEとSUBSTITUTEの数式の比較です。
複数の置換への対応の違い
元の文字列に複数の検索文字列が含まれていた場合、REPLACE関数は位置と文字数の指定でどれか一つの検索文字列に対して置換を実行します。言い換えると、複数の文字列を一括で置換することはできません。
SUBSTITUTE関数は元の文字列に含まれる全ての検索文字列をまとめて置き換えすることが可能です。
複数の置換を一括で行う方法など、SUBSTITUTE関数の使い方はこちらで詳しく解説しています
REPLACE関数の構成
SUBSTITUTEは「数式」タブ→「関数ライブラリ」→「文字列操作」に格納されています。一覧を下へスクロールしてREPLACEをクリックします。
REPLACE関数の書式の構成は「文字列」「開始位置」「文字数」「置換文字列」で、どれも必須です。
以下の文字列のエクセルをExcelに置換する操作をたどりながら、REPLACE関数の引数を一つずつ解説していきます。
第一引数「文字列」
REPLACEの第一引数には置換を行う文字列が含まれる文字列全体を指定します。
多くの場合、置換を行う文字列が含まれるセルを参照します。
第二引数「開始位置」
REPLACEの第二引数には検索する文字列の先頭の位置を指定します。
この例では「文字列」の左端から検索文字列を開始したいので「1」と入力しました。
第三引数「文字数」
REPLACEの第三引数には検索する文字列の文字数を指定します。開始位置を1として3文字を検索文字列にしたいなら「3」、5文字なら「5」と入力します。
この例ではエクセルの4文字を検索文字列として置き換えたいので「4」と入力しました。
詳しくは後述しますが、「文字数」に「0」を指定すると「開始位置」直前に第四引数「置換文字列」で指定した文字が挿入されます。
第四引数「置換文字列」
REPLACEの第四引数には置換する文字列を指定します。
この例では「“Excel”」と半角ダブルクォーテーションで括って入力しました。
(ダイアログで指定するなら、Excelと入力してTabキーを押せば自動でダブルクォーテーションが付きます)
REPLACEの計算式と結果
REPLACE関数の引数の指定はこれで完了です。エクセルがExcelに置き換わりました。
数式 =REPLACE(A2,1,4,“Excel”)
REPLACEで特定の文字を開始位置の前に入れる方法
REPLACE関数の引数「文字数」に「0」を指定すると、引数「置換文字列」で指定した文字が引数「開始位置」の先頭に挿入されます。この特性を応用して、文字列に任意の文字を入れます。
以下の製品コードは英字5文字と数字6文字で構成されています。このコードの数字の前にハイフンを挿入します。
REPLACE関数の引数の指定です。「開始位置」は英字5文字の次の文字で「6」と指定、「文字数」は「0」、「置換文字列」にはハイフンを「“-“」と指定します。
下までオートフィルコピーして完了です。REPLACE関数で特定の文字を任意の位置に入れるのはとても簡単なので、覚えておくと様々な場面で使えると思います。
数式 =REPLACE(A2,6,0,“-“)
スピルが使えるExcel(2019~、365)では、引数「文字列」にコードの入った全てのセル範囲を指定して数式を「=REPLACE(A2:A6,6,0,”-“)」とすれば、他のセルへ予測値が自動表示されます。オートフィルコピーは不要です。
SUBSTITUTEとREPLACEを組み合わせ特定文字を削除、他の文字と入れ替える
以下の電話番号のハイフンを削除して、市内局番を丸括弧で囲ってみましょう。
まず、REPLACE関数で電話番号の先頭に左丸括弧「(」を入れた文字列を作ります。
引数「開始位置」を「1」、引数「文字数」を「0」、引数「置換文字列」を「”(“」と指定し、この数式「」をコピーしておきます。
SUBSUTITUTE関数の第一引数「文字列」にコピーしたREPLACEの数式をペーストします。「検索文字列」には「”-“」とハイフンを指定し、「置換文字列」には丸括弧閉じを「”)”」と入力します。「置換対象」は省略します。
市内局番を丸括弧で囲った電話番号に置換されました。
IF関数とREPLACE関数で郵便番号や電話番号で消えた先頭の「0」を補う
住所録の郵便番号や電話番号を数値で入力すると、先頭の「0」が省略されてしまうのを補う操作です
- REPLACE(リプレース)は指定した位置にある指定した数の文字を別の文字列に置換する関数です
- REPLACE関数とSUBSUTITUTE関数の違いは検索する文字列の指定方法と複数の置換への対応です
- REPLACE関数の引数は「文字列」「開始位置」「文字数」「置換文字列」で、どれも必須です
- REPLACE関数の第三引数「文字数」に0を指定すると、引数「置換文字列」で指定した文字を引数「開始位置」の先頭に入れられます
- 特定文字を削除して他の文字と入れ替えるには、SUBSTITUTEとREPLACEを組み合わせます