文字列入門
SUBSTITUTE関数を見て理解する
文字列の中の指定した文字列を、別の文字列へ置き換える関数です。
3つのポイント
- 置換したい元の文字列を指定する
- 探す文字列と置換文字列を指定する
- 必要なら何番目の一致だけを置き換える
2番目に一致する文字列だけを置き換える
サンプル数式
- 文字列
- 検索文字列
- 置換文字列
- 何番目
この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にしています。一部の絵文字や特殊文字は対象外です。これは教材側の対応範囲であり、ExcelやGoogle スプレッドシート自体のエラーを示すものではありません。
文字位置(番号は1から。検索では見つかった開始位置を示します)
- 1: 東
- 2: 京
- 3: -
- 4: 東
- 5: 京
- 6: -
- 7: 東
- 8: 京
いまの結果:
先頭行:
入力・条件:4項目
- 文字列A2:「東京-東京-東京」
- 検索文字列B2:「東京」
- 置換文字列C2:「大阪」
- 何番目D2:2
指定した文字列の置換条件を適用した結果です。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 元の文字列 | 検索文字列 | 置換文字列 | 何番目 | 結果 |
| 2 | 東京-大阪-東京 |
A2、B2、C2、D2に値を入力すると、結果と処理順が変わります。
4つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A2表のセル: A2置換対象となる元の文字列です。この例ではA2の「東京-東京-東京」を使います。
B2表のセル: B2置き換える対象の文字列です。この例ではB2の「東京」を探します。
C2表のセル: C2置き換え後の文字列です。この例ではC2の「大阪」を使います。
D2表のセル: D2何番目の一致だけを置き換えるか指定します。この例では2番目を指定します。
この数式を日本語にすると
A2の「東京-東京-東京」からB2の「東京」を探し、D2で指定した2番目だけをC2の「大阪」へ置き換えて、E2に「東京-大阪-東京」を表示します。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜5を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
文字列を確認する
A2文字列: 東京-東京-東京
検索文字列を確認する
B2検索文字列: 東京
置換文字列を確認する
C2置換文字列: 大阪
何番目を確認する
D2何番目(省略時すべて): 2
一致した文字列を置換する
E2結果は「東京-大阪-東京」です。E2に表示します。
対応アプリ
- Excel
- Google スプレッドシート
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- instance_numを指定すると、左から数えてその番号の一致だけを置き換えます。
- SUBSTITUTEは文字の位置ではなく、指定した検索文字列との一致を使って置換します。
一般構文
対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり
- instance_numに0を指定したケースでは、SUBSTITUTE("😀-😀","😀","X",0)でExcel 2021は#VALUE!、Google スプレッドシートはX-Xを返しました。
Excel
=SUBSTITUTE(text, old_text, new_text, [instance_num])[] は省略できる引数です。
省略時
instance_num- 省略すると、該当する文字列をすべて置換します。
Google スプレッドシート
=SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])[] は省略できる引数です。
省略時
occurrence_number- 省略すると、一致する文字列をすべて置換します。
公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文・省略時の扱い
実機確認
- Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み
未確認
配列展開
次に学ぶ関数
カテゴリから探す
次に学ぶおすすめ関数はありません。カテゴリから探しましょう。
カテゴリを見る