Google スプレッドシートの関数には、データの操作や抽出に便利なものが多数あります。その中でも、正規表現を使って文字列から特定の部分を抽出することができる REGEXEXTRACT
関数は非常に強力です。本記事では、REGEXEXTRACT
関数の基本的な使い方から、複数のパターンを指定する方法までを詳細に解説します。
REGEXEXTRACT 関数の基本
基本的な構文
REGEXEXTRACT
関数は、文字列から正規表現に一致する部分を抽出します。基本的な構文は以下の通りです:
=REGEXEXTRACT(text, regular_expression)
text
: 対象となる文字列regular_expression
: 抽出したい部分を定義する正規表現パターン
使用例
例えば、以下のような文から数字を抽出したい場合:
=REGEXEXTRACT("私の一番好きな番号は 241 ですが、友だちの好きな番号は 17 です", "\d+")
この関数は、最初に一致する数字の部分文字列「241」を抽出します。
REGEXEXTRACT 関数の応用例
住所の分割
住所データから郵便番号を抽出する場合:
=REGEXEXTRACT("〒123-4567 東京都千代田区千代田1-1", "〒\d{3}-\d{4}")
この関数は、郵便番号「〒123-4567」を抽出します。
メールアドレスの抽出
テキストからメールアドレスを抽出する場合:
=REGEXEXTRACT("連絡先: user@example.com にメールしてください", "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")
この関数は「user@example.com」を抽出します。
複数指定する方法
キャプチャグループを使った抽出
日付形式の文字列から年・月・日を抽出:
=ARRAYFORMULA(REGEXEXTRACT(A1:A, "(\d{4})-(\d{2})-(\d{2})"))
この関数は、年・月・日をそれぞれ抽出し、配列として返します。
配列数式との併用
複数の正規表現を使って複数の列に結果を出力:
=ARRAYFORMULA({
REGEXEXTRACT(A1:A, "パターン1"),
REGEXEXTRACT(A1:A, "パターン2"),
REGEXEXTRACT(A1:A, "パターン3")
})
実践例
フォームの入力データから情報を抽出
電話番号とメールアドレスを同時に抽出するには:
=ARRAYFORMULA({
REGEXEXTRACT(B2:B, "\d{2,4}-\d{2,4}-\d{4}"),
REGEXEXTRACT(B2:B, "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")
})
まとめ
REGEXEXTRACT
関数は、Google スプレッドシートで強力なデータ抽出ツールです。正規表現を活用すれば、より高度な文字列処理が可能になります。日常の業務や分析にぜひ活用してみてください。
コメント