REPLACE関数の使い方|位置を指定して置き換える・文字を挿入する・削除する

REPLACE関数の使い方|位置を指定して置き換える・文字を挿入する・削除する

エクセルで、文字列の何文字目から何文字と位置を指定して置き換えるには、REPLACE関数を使います。たとえば電話番号「090-1234-5678」の真ん中の4桁は、=REPLACE(A3,5,4,"****") で「090-****-5678」と隠せます。

置き換える文字数を 0 にすると文字を挿入、新しい文字を “” にすると文字を削除できます。この記事では、REPLACE関数の基本、挿入と削除、FIND関数と組み合わせた置き換え、SUBSTITUTE関数との違い、REPLACEB関数までを、1つの表で説明します。下の練習ツールで、元の文字列を書き換えて結果の変わり方を試せます。

目次

REPLACE関数の書き方

REPLACE関数の構文
数式=REPLACE(文字列,開始位置,文字数,置換文字列)
ひとことで位置を指定して置き換える
文字列
文字列です
開始位置
開始位置です
文字数
置き換える文字数です
置換文字列
新しい文字です
引数入れるものポイント
文字列元の文字列(セル番地)
開始位置何文字目から置き換えるか1 なら先頭からです。
文字数何文字分を置き換えるか0 にすると、置き換えずに挿入します。
置換文字列新しく入れる文字“” にすると、その部分を削除します。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

REPLACE関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
一部を「****」で隠す=REPLACE(A3,5,4,”****”)090-****-5678
文字を挿入する=REPLACE(A4,3,0,”-“)AB-1023
先頭の文字を消す=REPLACE(A5,1,5,””)10月21日
先頭の文字を置き換える=REPLACE(A6,1,2,”OS”)OS-5501
「@」より前を置き換える=REPLACE(A8,1,FIND(“@”,A8)-1,”info”)info@example.com
数字8桁を日付の形にする=REPLACE(REPLACE(A9,7,0,”/”),5,0,”/”)2026/10/21
エクセルのREPLACE関数で位置を指定して文字を置き換えた表
エクセルのREPLACE関数で位置を指定して文字を置き換えた表

位置を指定して置き換える

1
結果を出したいセル(C3)を選びます。
2
「=REPLACE(」と入力し、元の文字列のセル(A3)をクリックします。
3
続けて「,5,4,”****”)」と入力して Enter キーを押します。
REPLACE関数の式
数式=REPLACE(A3,5,4,"****")
ひとことで位置を指定して置き換える
A3
文字列です
5
開始位置です
4
置き換える文字数です
"****"
新しい文字です

5文字目の「1」から4文字の「1234」が「****」に置き換わり、結果は 090-****-5678 です。個人情報の一部を隠すときに使えます。

文字を挿入する(文字数を 0 にする)

3つ目の引数を 0 にすると、元の文字を消さずに、開始位置の前に文字を入れます。

REPLACE関数の式
数式=REPLACE(A4,3,0,"-")
ひとことで位置を指定して置き換える
A4
文字列です
3
開始位置です
0
置き換える文字数です
"-"
新しい文字です

「AB1023」の3文字目「1」の前にハイフンが入り、結果は AB-1023 です。

文字を削除する(置換文字列を “” にする)

REPLACE関数の式
数式=REPLACE(A5,1,5,"")
ひとことで位置を指定して置き換える
A5
文字列です
1
開始位置です
5
置き換える文字数です
""
新しい文字です

「2026年10月21日」の先頭5文字「2026年」が消え、結果は 10月21日 です。

FIND関数と組み合わせて置き換える

置き換える位置や文字数が行ごとに違うときは、FIND関数で位置を調べて使います。

REPLACE関数の式
数式=REPLACE(A8,1,FIND("@",A8)-1,"info")
ひとことで位置を指定して置き換える
A8
文字列です
1
開始位置です
FIND("@",A8)-1
置き換える文字数です
"info"
新しい文字です

「@」は7文字目なので、先頭から6文字の「yamada」が「info」に置き換わり、結果は info@example.com です(FIND関数の使い方)。

数字8桁を日付の形にする(入れ子)

REPLACE関数を入れ子にすると、2か所に文字を入れられます。後ろの位置から先に入れると、前の位置がずれません。

REPLACE関数の式
数式=REPLACE(REPLACE(A9,7,0,"/"),5,0,"/")
ひとことで位置を指定して置き換える
REPLACE(A9,7,0,"/")
文字列です
5
開始位置です
0
置き換える文字数です
"/"
新しい文字です

「20261021」の7文字目の前、5文字目の前の順に「/」が入り、結果は 2026/10/21 です。この結果は文字列なので、日付として計算するときは DATEVALUE関数で変換します(DATEVALUE関数の使い方)。

SUBSTITUTE関数との違い

REPLACE関数SUBSTITUTE関数
置き換える場所の決め方位置(何文字目から何文字)文字(「-」など)
向いている場面桁の位置が決まっているコード・番号特定の文字をまとめて置き換える・消す
例=REPLACE(A3,5,4,”****”)=SUBSTITUTE(A3,”-“,””)

同じ文字を全部置き換えるなら SUBSTITUTE関数が簡単です(SUBSTITUTE関数の使い方)。

バイト数で位置を指定する(REPLACEB)

REPLACEB関数は、位置と文字数をバイト数(全角は2、半角は1)で指定します。「東京都千代田区」の先頭6バイトは全角3文字の「東京都」なので、=REPLACEB(A10,1,6,"大阪府") の結果は 大阪府千代田区 です。

REPLACE関数がうまくいかないときの確認表

症状考えられる原因対処
1文字ずれる開始位置や文字数の数え間違いLEN関数・FIND関数で位置を確かめる。
文字が消えてしまう挿入のつもりで文字数を 1 以上にした挿入するときは文字数を 0 にする。
数値の先頭の 0 が消える元の値が数値で、0 が入っていない元の値を文字列で入力するか、TEXT関数で桁をそろえる。
日付が数字になる日付はシリアル値(数値)として置き換えられるTEXT関数で文字列にしてから使う。

REPLACE関数のよくある質問

元のセルの文字を直接書き換えたい

関数は別のセルに結果を出します。結果をコピーして、元のセルに「値」で貼り付けます。

開始位置が文字数より大きいと?

元の文字列の後ろに、置換文字列がそのまま付きます。たとえば =REPLACE("AB",5,1,"C") は「ABC」です。

あわせて読みたい:文字列の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次