REGEXEXTRACTの使い方!複数指定する方法も解説

REGEXEXTRACTの使い方!複数指定する方法も解説 スプシの使い方

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 スプレッドシートで強力なデータ抽出ツールです。正規表現を活用すれば、より高度な文字列処理が可能になります。日常の業務や分析にぜひ活用してみてください。

コメント