Excel 指定した文字位置&文字数を文字列を置換(REPLACE関数)

2020年5月12日

REPLACE関数は文字位置と文字数を指定して文字列を置換する関数です。

この記事では、その使用と使い方を紹介します。

仕様

=REPLACE(文字列,開始位置,文字数,置換文字列)
引数省略時の値説明
文字列省略不可置換の対象とする文字列を指定。
開始位置省略不可置換を開始する位置を数値(先頭が1)を指定。
文字数省略不可置換を終了する位置を開始位置からの文字数を数値で指定。
0を指定した場合、削除される文字がなく挿入。
文字列より大きい数値を指定した場合、
開始位置以降の全ての文字が置換。
置換文字列省略不可置換先の文字列を文字列を指定
各引数の詳細

使用例

開始位置が文字列の数を超えているパターン、

開始位置が0、文字数が0のパターンなど様々なケースを列挙します。

REPLACE関数の様々なパターンの実行結果。
文字列の文字数より、開始位置や文字数が上回るケース、文字数が0のケース、開始位置が0のケースなど
REPLACE関数の使用例

SUBSTITUTE関数との違い

文字列を置換するSUBSTITUTE関数に似ていますが置換箇所の選び方が異なります。

関数置換箇所の選び方
SUBSTITUTE関数指定の文字列で検索
REPLACE関数開始位置と文字数を指定

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

それには何れかの引数を複数セルの範囲で指定します。

例では全てを範囲で指定していますが、一部でも構いません。

スピルでREPLACE関数を記述する例(F3セル)
スピルでREPLACE関数を記述する例(F3セル)

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

F3に指定したREPLACE関数がF10まで自動拡大
F3に指定したREPLACE関数がF10まで自動拡大

スピルを利用することで今回の例では

F3セルに入力するだけでよいため(F5以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

関連記事

関数の仕様と使い方の記事一覧