Googleスプレッドシートで、関数を使って文字列中の複数の種類の文字列を一度に置換・削除する方法についてです。ただし置換先は基本的に1つですので注意してください(A,B,CをいずれもDに置き換えるという置換です。A→D、B→E、C→Fといった置換についてはこちらの記事をご覧ください)。
置換・削除の違いやその対象に応じて、いくつかの方法を紹介します。
置換・削除の違いやその対象に応じて、いくつかの方法を紹介します。
- REGEXREPLACE関数を使うことで関数のネストなしに複数の文字列を一度に置換・削除できます。
手順
サンプルデータと実行結果
セルB3,B4,B8,B9には全く同じ文字列が記録されています。
また、C3,C4,C8,C9には目的に応じて異なる式が入力されています。
実行結果は次のようになります。
補足ですが、第2引数が「"大久保|東中野|高円寺"」の場合は「中野」が置換・削除の対象になりません。一方で「"[大久保東中野高円寺]"」の場合は1文字単位で置換・削除の対象となるため「中野」も対象となります。
以下ではそれぞれの式の内容と詳細について記します。
複数種の文字列をすべて置換
C3セルには次のように入力しています。
=REGEXREPLACE(B3,"大久保|東中野|高円寺","☆")
これにより、文字列中の「大久保」「東中野」「高円寺」の3種の文字列がいずれも「☆」の1文字に置き換えられます。同じ文字列がいくつあってもすべて置き換えられます(以下同様)。
「|」を使うことで複数の文字列を置換の対象にすることができます。
複数種の「文字」をすべて置換
C4セルには次のように入力しています。
=REGEXREPLACE(B4,"[大久保東中野高円寺]","☆")
文字列中の「大」「久」「保」「東」「中」「野」「高」「円」「寺」の9種の文字がいずれも「☆」の1文字に置き換えられます。
「[ ]」内の文字は、1文字単位で置換の対象となります。
複数種の文字列をすべて削除
C8セルには次のように入力しています。
=REGEXREPLACE(B8,"大久保|東中野|高円寺","")
文字列中の「大久保」「東中野」「高円寺」の3種の文字列がいずれも削除されます。
複数種の「文字」をすべて削除
C9セルには次のように入力しています。
=REGEXREPLACE(B9,"[大久保東中野高円寺]","")
文字列中の「大」「久」「保」「東」「中」「野」「高」「円」「寺」の9種の文字がいずれも削除されます。