REGEXEXTRACT関数

Excel 365, Excel 2021, Excel 2019

概要

REGEXEXTRACT関数は、正規表現パターンを使用して指定されたテキストから文字列を強力に抽出します。Excel 365で利用可能な最新のテキスト処理関数で、複雑なパターン認識によるデータ抽出作業を劇的に効率化します。

構文

REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])

パラメータ

パラメータ タイプ 必須 説明
text Text はい 抽出対象の文字列またはセル参照。任意の長さのテキストに対応。
pattern Text はい 正規表現パターン。正規表現記法で抽出条件を指定。
return_mode Number いいえ 0:最初の一致(既定), 1:すべての一致(配列), 2:キャプチャグループ(配列)
case_sensitivity Number いいえ 0:区別(既定), 1:区別しない

REGEXEXTRACT関数の使用

REGEXEXTRACTは従来のLEFT/RIGHT/MID関数では困難な複雑なパターンに基づくテキスト抽出を可能にします。名前、電話番号、メールアドレス、日付など構造化されていないテキストデータから必要な部分を正確に抽出します。return_modeパラメータにより柔軟な結果形式を選択可能で、動的配列に対応しています。

REGEXEXTRACTの一般的な例

名前の抽出(最初の一致)

=REGEXEXTRACT(A2,"[A-Z][a-z]+")

DylanWilliamsから"Dylan"を抽出。大文字小文字パターン[A-Z][a-z]+で名前の先頭部分を特定。

すべての名前の抽出

=REGEXEXTRACT(A2,"[A-Z][a-z]+",1)

複数の名前を含むテキストからすべての名前を配列として抽出。return_mode=1で複数結果を自動展開。

電話番号の抽出

=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1)

混合テキストから電話番号形式をすべて抽出。[0-9()]+ [0-9-]+パターンで構造を特定。

メールアドレスの抽出

=REGEXEXTRACT(A2,"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")

標準的なメールアドレス形式を抽出。複雑な正規表現で正確なマッチング。

よくある質問

最初の一致からキャプチャグループ(括弧で囲まれた部分)を配列として返します。例えば"([A-Z][a-z]+) ([A-Z][a-z]+)"でファーストネームとラストネームを別々に抽出可能。

空文字列を返します。IFERRORと組み合わせることで代替値を設定できます。

PCRE2規格準拠。基本的な文字クラス、量指定子、グループ化、アンカーなどが利用可能。

一般的なエラーと解決策

#VALUE! エラー

Cause: 無効な正規表現パターン

Solution: 正規表現構文を確認し、特殊文字は\でエスケープ。

予期しない抽出結果

Cause: パターンの曖昧性

Solution: パターンを具体的にし、^ $などのアンカーを活用。

配列が展開されない

Cause: 古いExcelバージョン

Solution: Excel 365/2021を使用。

注記

  • 常にテキスト値を返却。数値化にはVALUE関数併用。
  • PCRE2規格でREGEXTEST/REGEXREPLACEと完全互換。
  • return_mode=1,2は動的配列専用機能。
  • 大文字小文字区別はcase_sensitivity=1で無効化可能。
  • パフォーマンスのため、可能な限り具体的なパターンを使用。

互換性

利用可能: Excel 365, Excel 2021

利用不可: Excel 2019, Excel 2016, それ以前のバージョン

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021, Excel 2019