「SUBSTITUTE」と「REPLACE」の違い - Googleスプレッドシート関数

「SUBSTITUTE」と「REPLACE」の違い - Googleスプレッドシート関数

文字列の一部を別のテキスト文字列に置き換える関数「SUBSTITUTE」と「REPLACE」の違いは、
「SUBSTITUTE」は文字を検索して一致した文字列を別の文字列に置換します
「REPLACE」は何文字目から何文字目と文字数を指定して別の文字列に置き換えます

・関数SUBSTITUTE(サブスティチュート)
・書式=SUBSTITUTE(文字列, 検索文字列, 置換文字列, 置換対象)
・内容文字列の中から指定した文字を置換します。全角、半角、大文字、小文字は区別されます。
検索文字列が見つからないと文字列を返します
置換対象は省略できます
・関数REPLACE(リプレイス)
・書式=REPLACE(文字列,開始位置,文字数, 置換対象)
・内容文字列の中から何文字目から何文字目と文字数を指定して別の文字列に置き換えます
=SUBSTITUTE("神奈川県川崎市鶴見区", "川崎", "横浜")
=神奈川県横浜市鶴見区

=REPLACE("神奈川県川崎市鶴見区",5,2,"横浜")
=神奈川県横浜市鶴見区

SUBSTITUTE関数は"神奈川県川崎市鶴見区"から"川崎"を検索して"横浜"に置き換えています

REPLACE関数は"神奈川県川崎市鶴見区"の5文字目から2文字を"横浜"に置き換えています

「文字列に置き換える」というのは一緒ですが使い方がまったく違います

セルA1に「神奈川県横浜市鶴見区」で県名を消す場合

SUBSTITUTE関数は"神奈川県"を""(空白)に置き換えます
=SUBSTITUTE(A1, "神奈川県", "")
=横浜市鶴見区

この方法だと県名すべてを消すのに40回以上繰り返さないといけません

REPLACE関数とSEARCH関数を組み合わせることで県までを検索してその文字数を空白に置き換えられます

=REPLACE(A1,1,SEARCH("県",A1),"")
=横浜市鶴見区

SEARCH("県",A1)で県までの文字数を取得して1文字目から4文字目までを空白に置き換えています

都道府県ですから都道府はSUBSTITUTE関数で指定します

関数の使い方のサンプルなので、実際に上記の方法で都道府県の都道府に「県」が含まれる市や町があればそこまで消えます
都道府県名を消去する場合
確実に都道府県名が含まれている場合は別の方法で都道府県名をREPLACEで削除することができます

「SUBSTITUTE」と「REPLACE」の違い

セル)C2
=REPLACE(B2,1,IFERROR(SEARCH("県",B2),3),"")

説明
SEARCH("県",B2)
B2から「県」を検索

IFERROR(SEARCH("県",B2),3)
「県」がある場合は「県」までの文字数
「県」が無ければエラーなので3文字になります

=REPLACE(B2,1,IFERROR(SEARCH("県",B2),3),"")
REPLACE関数で1文字目から3文字または県までを空白に置き換え

消す場合なのでREPLACE関数を使いましたが
都道府県名を分離するならば
分離した後にSUBSTITUTE関数で空白に置き換えます
参考:氏名や住所など文字列の分割

「SUBSTITUTE」と「REPLACE」の違い >HOME

Googleスプレッドシート関数

よく似た関数の違い

「AVERAGE」と「AVERAGEA」の違い  指定した範囲内のセルの平均値を返す関数の違い

「SUM」と「SUMIF」の違い  選択したセル、範囲指定したセルを合計する関数の違い

「NOW」と「TODAY」の違い  現在の日時を取得する関数の違い

「FIND」と「SEARCH」の違い  セル内の文字列を検索する関数の違い

「FIXED」と「ROUND」の違い  小数点以下の数字を桁数を指定して四捨五入する関数の違い

「LARGE」と「MAX」と「MAXA」の違い  指定した範囲から最大値を返す関数の違い

「SUBSTITUTE」と「REPLACE」の違い  文字列を別の文字列に置き換える関数の違い

「NE」と「EXACT」と「DELTA」の違い  2つの文字列が同一であるかを検証する関数の違い

「JOIN」と「TEXTJOIN」の違い  指定した区切り文字を追加して文字列を結合する関数の違い

「IMPORTHTML」と「IMPORTXML」の違い  WEBサイトからデータを取得する関数の違い

「TRUNC」と「ROUNDDOWN」の違い  指定した桁数以下の数値を切り捨てる関数の違い

「CEILING」と「ROUNDUP」の違い  数値を切り上げする関数の違い

(C) 2001-2021 Digital World