コンテンツにスキップ

REGEXEXTRACT

種類: MS Excel 互換関数 · ネイティブ導入: Microsoft 365

テキストから正規表現の一致部分を抽出します。

構文

=REGEXEXTRACT(テキスト, パターン, [返却モード], [大文字小文字区別])

引数

引数 必須 説明
テキスト 必須 元のテキスト
パターン 必須 正規表現パターン
返却モード 省略可能 0 最初の一致、1 すべて、2 キャプチャグループ
大文字小文字区別 省略可能 0 区別(既定)、1 無視

戻り値

返却モード 0 は最初に一致したテキスト(スカラー)を、1 はすべての一致(縦 1 列の配列、スピル)を、2 は最初の一致のキャプチャグループ(横 1 行の配列、スピル)を返します。一致がない場合(モード 2 でグループがない場合を含む)は #N/A を、正規表現が不正な場合は #VALUE! を返します。

数式 結果 説明
=REGEXEXTRACT("abc123def45","\d+") 123 最初の一致
=REGEXEXTRACT("abc123def45","\d+",1) {123;45} すべての一致(縦)
=REGEXEXTRACT("2026-08-01","(\d+)-(\d+)",2) {2026,08} キャプチャグループ(横)

解説

  • 正規表現の構文は std::wregex の ECMAScript です(ネイティブの 365 の PCRE2 とは一部異なる場合があります)。
  • text・pattern に配列を指定すると要素ごとに計算され、同じ形状の配列としてスピルされます(エラー要素はそのエラーのまま)。配列の text に返却モード 1・2 を併用すると、各要素の結果は最初の一致に降格されます。
  • 関連関数: REGEXTEST、REGEXREPLACE。
  • 対応: Excel 2010+。ネイティブ関数がない旧バージョンでは REGEXEXTRACT の名前のまま(ドロップイン)、ネイティブ関数がある新しい Excel では EG.REGEXEXTRACT として登録されます。