文字列入門
REPLACE関数を見て理解する
文字列の指定した位置から、指定した文字数分を別の文字列に置き換える関数です。
3つのポイント
- 元の文字列の開始位置を指定する
- 置き換える文字数を決める
- 選んだ部分を別の文字列に置き換える
文字列の後半を置き換える
サンプル数式
- 元の文字列
- 開始位置
- 文字数
- 置換する文字列
この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にしています。一部の絵文字や特殊文字は対象外です。これは教材側の対応範囲であり、ExcelやGoogle スプレッドシート自体のエラーを示すものではありません。
いまの結果:
先頭行:
入力・条件:4項目
- 元の文字列A2:「ABC123」
- 開始位置B2:4
- 文字数C2:3
- 置換する文字列D2:「999」
指定した位置と文字数に従って文字列を置き換えました。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 元の文字列 | 開始位置 | 文字数 | 置換する文字列 | 置換結果 |
| 2 | ABC999 |
D2は100文字まで入力できます。超えた分は削除しました。
A2、B2、C2、D2に値を入力すると、結果と処理順が変わります。
指定位置の置換対象
元の文字列:A2 · 元の文字列
4〜6文字目を置き換えます。
開始位置:4
置換対象始開始位置開始位置より前
置換後
4つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A2表のセル: A2一部を置き換える元の文字列です。
B2表のセル: B2先頭を1として、置き換え始める位置です。
C2表のセル: C2元の文字列から置き換える文字数です。
D2表のセル: D2選んだ部分に入れる文字列です。
この数式を日本語にすると
A2の4文字目から3文字分の「123」をD2の「999」に置き換え、E2に「ABC999」を表示します。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜5を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
文字列を確認する
A2文字列: ABC123
開始位置を確認する
B2開始位置: 4
文字数を確認する
C2文字数: 3
置換文字列を確認する
D2置換文字列: 999
指定位置の文字を置換する
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)公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文
実機確認
- Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み
未確認
配列展開
この教材で扱わない範囲
- 一部の絵文字など、文字の位置の数え方が異なる入力は「対象外」と表示します。
次に学ぶ関数
MID
同じ開始位置・文字数の指定で、MIDは置き換えずに取り出します。
次に学ぶ