REGEXREPLACEでパターンを置換する
セル内で一致したテキストを新しい値に置き換えます。
「REGEXREPLACEでパターンを置換する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
パターンでテキストを書き換える
ここまでは、パターンを試してテキストから一部を取り出してきました。ここからはテキストを書き換えます。不要な文字の削除、電話番号の形式変更、余分なスペースの圧縮などができます。
REGEXREPLACE は、パターンに一致するテキストのすべての部分を見つけ、指定した置換テキストに置き換えます。
この Google Sheets の関数は、乱雑な列全体を一度に変換できるため、テキストのクリーニングで大きな力を発揮します。
REGEXREPLACE の構文
REGEXREPLACE(text, pattern, replacement) は、元のテキスト、検索するパターン、置換文字列という3つの引数を受け取ります。
REGEXEXTRACT とは異なり、最初の一致だけでなく、見つかったすべての一致を置き換えます。
次の式は、各数字を空文字列に置き換えることで、A2 からすべての数字を削除します。Room 204 は Room になります。
=REGEXREPLACE(A2, "\d", "")何もない文字列に置き換えて削除する
よく使われる方法として、文字を空文字列 "" に置き換えて削除する方法があります。
次の式は、数字ではないものをすべて取り除き、数字だけを残します。(555) 123-4567 は 5551234567 になります。[^\d] は数字ではない任意の文字を表す文字クラスで、+ によってそれらが連続する部分をまとめて取得します。
=REGEXREPLACE(A2, "[^\d]+", "")実例:余分なスペースを圧縮する
インポートしたテキストには、スペースが2つや3つ連続していることがよくあります。連続するスペースを1つにまとめたい場合があります。
次の式は、1つ以上の空白文字に一致させ、それぞれの連続部分を1つのスペースに置き換えます。後で TRIM と組み合わせると、両端のスペースも整えられます。
=REGEXREPLACE(A2, "\s+", " ")後方参照で一致結果を再利用する
置換テキストでは、$1、$2 などを使ってキャプチャグループを参照できます。$1 は、最初のキャプチャグループが一致した内容を表します。
これにより、順序を入れ替えたり形式を変更したりできます。次の式は、2つの名前をキャプチャして順序を入れ替えることで、Smith, John を John Smith に変換します。
=REGEXREPLACE(A2, "(\w+), (\w+)", "$2 $1")実例:電話番号の形式を整える
A2 に 5551234567 のような10桁の整った文字列があり、(555) 123-4567 の形式にしたいとします。
3桁、3桁、4桁をそれぞれキャプチャし、置換文字列で書式を加えて組み立て直します。各グループは番号で参照します。
=REGEXREPLACE(A2, "(\d{3})(\d{3})(\d{4})", "($1) $2-$3")特定の単語を置き換える
通常の単語も置き換えられます。略語を統一するには、その単語に一致させて置き換えます。
次の式は、住所に含まれるすべての St. を Street に変更します。ピリオドを任意の文字ではなく文字どおりのピリオドに一致させるには、\. のようにエスケープする必要があります。
=REGEXREPLACE(A2, "St\.", "Street")大文字と小文字を区別せずに置き換える
正規表現では、デフォルトで大文字と小文字が区別されます。大文字と小文字に関係なく単語に一致させるには、文字クラスに候補を列挙するか、選択肢を作成します。
次の式は、color または Color を colour に置き換えます。[Cc] は、最初の文字の大文字と小文字のどちらにも一致します。
=REGEXREPLACE(A2, "[Cc]olor", "colour")実例:機密性の高い数字をマスクする
カード番号の末尾4桁以外を隠すには、先頭の数字を X に置き換えます。
次の式は、末尾4桁より前にあるすべての数字に一致させ、それぞれを X に置き換えます。1234567890123456 は XXXXXXXXXXXX3456 になります。
=REGEXREPLACE(A2, "\d(?=\d{4})", "X")複数のクリーニング処理を連結する
実際のクリーニングでは、複数の手順が必要になることがよくあります。REGEXREPLACE の呼び出しを入れ子にし、内側の結果を外側の処理に渡せます。
次の式は、まず英字またはスペース以外をすべて削除し、その後で複数のスペースを1つにまとめます。内側から読むと、処理の順序がわかります。
=REGEXREPLACE(REGEXREPLACE(A2, "[^A-Za-z ]", ""), "\s+", " ")列全体に適用する
ほかの正規表現関数と同様に、REGEXREPLACE は列全体を一度にクリーニングするために使います。式を1度作成し、元データの隣の列に下方向へコピーします。
たとえば、A列に Chair (SKU-4821) のように末尾のコードが付いた商品名が入っているとします。次の式は、すべての行から括弧内のコードを削除し、Chair だけを残します。式全体を TRIM で囲むと、残ったスペースも削除できます。
=TRIM(REGEXREPLACE(A2, "\(.*\)", ""))確認テスト
パターンによる置換について、理解度を確認しましょう。
まとめ:テキストを一度に変換する
REGEXREPLACE(text, pattern, replacement) は、Google Sheets で一致したすべての部分を書き換えることを学びました。重要なポイントは次のとおりです。
""に置き換えると、不要な文字を削除できます[^\d]と\s+は、クリーニングで頻繁に使うパターンです- キャプチャグループは、
$1や$2として置換文字列内で再利用できます \.のように、文字どおりの特殊文字はエスケープします- 呼び出しを入れ子にすると、複数のクリーニング処理を連結できます
次は、正規表現を SPLIT と CLEAN と組み合わせて、インポートしたデータを分割し、仕上げに整える方法を学びます。
よくある質問
「REGEXREPLACEでパターンを置換する」レッスンは無料ですか?
はい。「REGEXREPLACEでパターンを置換する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「REGEXREPLACEでパターンを置換する」で何を学びますか?
セル内で一致したテキストを新しい値に置き換えます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「REGEXREPLACEでパターンを置換する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- REGEXMATCHでパターンを検証する
- REGEXEXTRACTでパターンを取り出す
- REGEXREPLACEでパターンを置換する
- 乱雑なデータを分割して整える