クイックナビゲーション
REGEXEXTRACT関数
概要
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,}")
標準的なメールアドレス形式を抽出。複雑な正規表現で正確なマッチング。
よくある質問
一般的なエラーと解決策
#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