ラベルラベル

文字列入門

REPLACE関数を見て理解する

文字列の指定した位置から、指定した文字数分を別の文字列に置き換える関数です。

3つのポイント

  1. 元の文字列の開始位置を指定する
  2. 置き換える文字数を決める
  3. 選んだ部分を別の文字列に置き換える
例題

文字列の後半を置き換える

サンプル数式

  • 元の文字列
  • 開始位置
  • 文字数
  • 置換する文字列

この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にしています。一部の絵文字や特殊文字は対象外です。これは教材側の対応範囲であり、ExcelやGoogle スプレッドシート自体のエラーを示すものではありません。

いまの結果:

ABC999
計算結果
結果セル:E2
入力・条件:4項目
  • 元の文字列A2:「ABC123」
  • 開始位置B2:4
  • 文字数C2:3
  • 置換する文字列D2:「999」
この結果になる理由

指定した位置と文字数に従って文字列を置き換えました。

サンプルデータ

位置や文字列を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「文字列の後半を置き換える」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABCDE
1元の文字列開始位置文字数置換する文字列置換結果
2ABC999
元の文字列開始位置文字数置換する文字列結果セル
①・②・③・④ 正式引数 / 教材要素1–5 処理の流れ

A2、B2、C2、D2に値を入力すると、結果と処理順が変わります。

指定位置の置換対象

元の文字列:A2 · 元の文字列

4〜6文字目を置き換えます。

開始位置:4

置換対象開始位置開始位置より前

置換後

ABC999

4つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A2表のセル: A2

    一部を置き換える元の文字列です。

  2. B2表のセル: B2

    先頭を1として、置き換え始める位置です。

  3. C2表のセル: C2

    元の文字列から置き換える文字数です。

  4. D2表のセル: D2

    選んだ部分に入れる文字列です。

この数式を日本語にすると

A2の4文字目から3文字分の「123」をD2の「999」に置き換え、E2に「ABC999」を表示します。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜5を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 文字列を確認する

    A2

    文字列: ABC123

  2. 開始位置を確認する

    B2

    開始位置: 4

  3. 文字数を確認する

    C2

    文字数: 3

  4. 置換文字列を確認する

    D2

    置換文字列: 999

  5. 指定位置の文字を置換する

    E2

    結果は「ABC999」です。E2に表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • 開始位置は先頭を1として数えます。文字数に0を指定すると、その位置の手前へ挿入します。
  • 置換する文字列の長さは、置き換える文字数と異なっていても構いません。空文字列にすると、その部分を削除できます。
  • 開始位置が元の文字列の長さを超えると、末尾に追加します。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり

  • 文字数に空文字列や-0.1を指定した例では、Excel 2021は#VALUE!、Google スプレッドシートは0文字として挿入した結果を返します。
  • 開始位置が数値にできない文字列で、後ろの引数もエラーの場合、Excel 2021は#VALUE!、Google スプレッドシートは後ろのエラーを返すことがあります。

Excel

=REPLACE(old_text, start_num, num_chars, new_text)

Google スプレッドシート

=REPLACE(text, position, length, new_text)
公式資料・確認範囲

実機確認

  • Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み

未確認

配列展開

この教材で扱わない範囲

  • 一部の絵文字など、文字の位置の数え方が異なる入力は「対象外」と表示します。

次に学ぶ関数

MID

同じ開始位置・文字数の指定で、MIDは置き換えずに取り出します。

次に学ぶ