【スプレッドシート】SUBSTITUTE関数で複数条件の置換!正規表現も!

GoogleスプレッドシートのSUBSTITUTE関数を使って、一度に複数の文字列を検索し、新しい文字列に置換する方法をご紹介します。正規表現を使って文字列を検索する方法についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

SUBSTITUTE関数で複数の文字列を置換する

SUBSTITUTE関数で複数の文字列を置換する

SUBSTITUTE関数を使って、複数の異なる文字列を一度に置換したい場合は、SUBSTITUTE関数を入れ子(ネスト)にして使用します。

例えば、セルA2に入力された「り○○ん×ご○」という文字列に含まれる「○」と「×」を、どちらも空の文字列(””)に置換したい場合、数式は以下のようになります。

例:=SUBSTITUTE(SUBSTITUTE(A2,"○","",),"×","")

この数式では、まず内側の SUBSTITUTE(A2,"○","") によって、セルA2の「○」が空の文字列に置換されたテキストが生成されます。次に、その結果が外側のSUBSTITUTE関数の「検索対象のテキスト」として渡され、そこから「×」が空の文字列に置換されるという仕組みです。

SUBSTITUTE関数の引数:(検索対象のテキスト, 検索文字列, 置換文字列, [出現回数])

スポンサーリンク

SUBSTITUTE関数に正規表現は使えるのか!?

結論から言うと、SUBSTITUTE関数は正規表現ワイルドカードには対応していません。もし、正規表現を使った文字列の置換を行いたい場合は、REGEXREPLACE関数を活用することで実現できます。

SUBSTITUTE関数で正規表現は使えるのか?

REGEXREPLACE関数は、正規表現を使って文字列を検索し、一致した部分を新しい文字列に置換します。

例えばセルA2に入力された「青森[改行]り ん ご」という「全角スペース」と「半角スペース」と「改行」の3つを空文字に置換したい場合、数式は以下のようになります。

例:=REGEXREPLACE(A2,"[ \s]","")

[]はいずれかの文字列を、\sは空白文字(半角スペース、改行)を表します。

したがって[]内に全角スペース \sを指定することで、「全角スペース」または「半角スペース」または「改行」と一致する文字列を検索しています。

REGEXREPLACE関数の引数:(テキスト, 正規表現, 置換)

タイトルとURLをコピーしました