Excel関数 逆引き集 | 一部を書き換え → REPLACE

Excel
スポンサーリンク

概要

REPLACE関数は「文字列の一部を指定位置から指定文字数分だけ置き換える」関数です。SUBSTITUTEが「一致する文字列」を置き換えるのに対し、REPLACEは「位置と長さ」で置き換えるのが特徴です。文字列の一部を修正したり、桁数を揃えたり、コードの一部を差し替えるときに便利です。


基本の使い方

書式

=REPLACE(文字列, 開始位置, 文字数, 置き換え文字列)
  • 文字列:対象となる文字列やセル
  • 開始位置:左から数えて何文字目から置き換えるか
  • 文字数:置き換える文字数
  • 置き換え文字列:新しく差し込む文字列

=REPLACE("ABCDEF", 2, 3, "xxx")   // "AxxxEF"
=REPLACE("20251216", 5, 2, "12")  // "20251216" → "20251216"(例:月を修正)
=REPLACE("山田太郎", 3, 2, "花子") // "山田花子"

具体例

電話番号の一部をマスクする

=REPLACE(A2, 4, 4, "****")

電話番号の中央部分を「****」に置き換えて個人情報を隠せます。

商品コードの一部を修正する

=REPLACE(B2, 1, 3, "XYZ")

先頭3文字を「XYZ」に差し替え、コード体系を変更できます。

日付文字列の月だけ修正する

=REPLACE(TEXT(C2,"yyyymmdd"), 5, 2, "12")

「20251116」を「20251216」に修正するなど、月部分だけを置き換えられます。


応用テンプレート

固定長コードの一部を差し替え

=REPLACE(D2, 6, 2, "99")

6文字目から2文字を「99」に置き換え、バージョン番号を更新。

末尾の桁を置き換える

=REPLACE(E2, LEN(E2)-1, 2, "00")

文字列の最後2桁を「00」に修正。

名前の一部をニックネームに差し替え

=REPLACE(F2, 3, 2, "ちゃん")

「佐藤太郎」→「佐藤ちゃん」。

数値を文字列化して一部置換

=REPLACE(TEXT(G2,"000000"), 4, 2, "55")

ゼロ埋めした数値の中間桁を差し替え。


よくあるつまずきと対策

開始位置は「1始まり」

Excelの文字列は1文字目から数えます。0や負数は使えません。

文字数が長すぎると末尾まで消える

指定文字数が残り文字数より大きい場合は末尾まで削除されます。必要ならMIN関数で調整しましょう。

=REPLACE(A2, 3, MIN(5,LEN(A2)-2), "X")

数値や日付は文字列化してから

REPLACEは文字列操作なので、数値や日付はTEXT関数で文字列化してから使うのが安全です。

SUBSTITUTEとの違い

  • REPLACE:位置と長さで置換
  • SUBSTITUTE:一致する文字列を置換
    用途に応じて使い分けましょう。

例題

問題1: A2の文字列の3文字目から2文字を「XX」に置き換えてB2に表示してください。

解答例:

=REPLACE(A2, 3, 2, "XX")

問題2: C2の電話番号の中央4桁を「****」に置き換えてD2に表示してください。

解答例:

=REPLACE(C2, 4, 4, "****")

問題3: E2の日付文字列「yyyymmdd」の月部分を「12」に修正してF2に表示してください。

解答例:

=REPLACE(E2, 5, 2, "12")

問題4: G2のコードの末尾2桁を「00」に置き換えてH2に表示してください。

解答例:

=REPLACE(G2, LEN(G2)-1, 2, "00")

問題5: I2の名前の3文字目から2文字を「花子」に置き換えてJ2に表示してください。

解答例:

=REPLACE(I2, 3, 2, "花子")

まとめ

REPLACEは「文字列の位置と長さを指定して置き換える」関数です。部分的な修正、マスク処理、コード更新などに役立ちます。開始位置は1から数えること、数値や日付はTEXTで文字列化してから扱うことを押さえれば、初心者でも安心して使えます。講師として強調したいのは「REPLACEは位置指定、SUBSTITUTEは語指定」。この違いを理解すれば、文字列処理の幅がぐっと広がります。

タイトルとURLをコピーしました