<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>REGEXTEST &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/regextest/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2026 10:46:42 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>REGEXTEST &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのREGEXEXTRACT関数の使い方｜正規表現で文字列を抽出する</title>
		<link>https://mashukabu.com/excel-function-howto-use-regexextract/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-regexextract/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:11:05 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[REGEXEXTRACT関数]]></category>
		<category><![CDATA[REGEXTEST]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[文字列抽出]]></category>
		<category><![CDATA[正規表現]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5896</guid>

					<description><![CDATA[ExcelのREGEXEXTRACT関数の使い方を初心者向けに解説。構文・引数（テキスト・パターン・return_mode・大文字小文字の区別）の基本から、メールアドレス・電話番号・URLドメイン・日付分解などの実務例を数式付きで紹介。キャプチャグループの使い方、#VALUE!や#N/Aエラーの対処、REGEXTEST・REGEXREPLACEとの使い分けもまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「長い文字列の中からメールアドレスだけ取り出したい」「URLからドメイン部分だけを抜き出したい」。データ整理をしていると、こんな場面に出くわしますよね。</p>



<p class="wp-block-paragraph">これまでのExcelでは、LEFT・RIGHT・MID・FINDを組み合わせた長い数式を書くしかありませんでした。位置がズレるだけで壊れてしまう、あの面倒な数式ですね。</p>



<p class="wp-block-paragraph">そんなときに便利なのがExcelのREGEXEXTRACT関数です。正規表現を使って、狙った文字列を一発で抜き出せますよ。</p>



<p class="wp-block-paragraph">この記事では、ExcelのREGEXEXTRACT関数の使い方を基本から実務例まで解説します。キャプチャグループの使い方や姉妹関数との使い分けもまとめましたので、ぜひ参考にしてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのREGEXEXTRACT関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li></ol></li><li><a href="#toc4" tabindex="0">REGEXEXTRACT関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">第1引数：テキスト</a></li><li><a href="#toc7" tabindex="0">第2引数：正規表現パターン</a></li><li><a href="#toc8" tabindex="0">第3引数：戻り値モード（return_mode）</a></li><li><a href="#toc9" tabindex="0">第4引数：大文字小文字の区別</a></li></ol></li><li><a href="#toc10" tabindex="0">Excel REGEXEXTRACT関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">文字列から最初の数字列を取り出す</a></li><li><a href="#toc12" tabindex="0">郵便番号を抜き出す</a></li><li><a href="#toc13" tabindex="0">本文からメールアドレスを抽出する</a></li><li><a href="#toc14" tabindex="0">IFERRORでエラーを隠す</a></li></ol></li><li><a href="#toc15" tabindex="0">実践的な使い方・応用例</a><ol><li><a href="#toc16" tabindex="0">電話番号の市外局番だけを抽出する</a></li><li><a href="#toc17" tabindex="0">URLからドメイン部分を取得する</a></li><li><a href="#toc18" tabindex="0">日付文字列から年・月・日を分離する</a></li><li><a href="#toc19" tabindex="0">本文中のハッシュタグをすべて抽出する</a></li><li><a href="#toc20" tabindex="0">メールアドレスからユーザー名とドメインを分ける</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#N/A エラー</a></li><li><a href="#toc23" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">#NAME? エラー</a></li><li><a href="#toc25" tabindex="0">エラー一覧表</a></li></ol></li><li><a href="#toc26" tabindex="0">列全体に一括適用する方法（MAP関数との組み合わせ）</a><ol><li><a href="#toc27" tabindex="0">MAP + LAMBDAの書き方パターン</a></li></ol></li><li><a href="#toc28" tabindex="0">REGEXTEST と組み合わせたフィルタリングパターン</a><ol><li><a href="#toc29" tabindex="0">メールアドレスが含まれる行だけを絞り込む</a></li><li><a href="#toc30" tabindex="0">絞り込んだ上で抽出する2段階パターン</a></li></ol></li><li><a href="#toc31" tabindex="0">REGEXREPLACE との使い分けと連携</a><ol><li><a href="#toc32" tabindex="0">取り出しにくいなら「削除」で代用する</a></li><li><a href="#toc33" tabindex="0">よく使う正規表現パターン早見表</a></li></ol></li><li><a href="#toc34" tabindex="0">REGEXTEST・REGEXREPLACEとの使い分け</a></li><li><a href="#toc35" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのREGEXEXTRACT関数とは？</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数は、<strong>文字列の中から正規表現パターンに一致する部分を抜き出すExcelの関数</strong>です。読み方は「レジェックスエクストラクト」で、メールアドレスやURL、日付など狙った形式の文字列をピンポイントで取り出せます。</p>



<p class="wp-block-paragraph">2024年にMicrosoft 365へ追加された新しい関数で、REGEXTEST・REGEXREPLACEとともに「正規表現3関数」と呼ばれています。姉妹関数のREGEXTESTがパターンの「判定」を担うのに対し、REGEXEXTRACTは「抽出」を担当します。</p>



<p class="wp-block-paragraph">LEFT・MID・FINDを組み合わせた長い数式に悩まされてきた方には、まさに救世主のような関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p class="wp-block-paragraph">REGEXEXTRACT関数は次のようなシーンで活躍します。</p>



<ul class="wp-block-list"><li>問い合わせ本文からメールアドレスだけを取り出したいとき</li><li>電話番号の市外局番だけを抜き出したいとき</li><li>URLからドメイン部分を取得したいとき</li><li>日付文字列を年・月・日に分解したいとき</li><li>商品コードから特定の桁だけを抽出したいとき</li></ul>



<p class="wp-block-paragraph">LEFT・RIGHT・MIDの入れ子から解放されて、数式がすっきりしますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p class="wp-block-paragraph">REGEXEXTRACT関数を使うには、Microsoft 365のサブスクリプションが必要です。Excel 2019やExcel 2021などの永続ライセンス版では使えません。</p>



<p class="wp-block-paragraph">対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">お使いのバージョンが対応しているか、事前に確認しておきましょう。バージョンが古いと <code>#NAME?</code> エラーになってしまいます。</p>



<h2 class="wp-block-heading"><span id="toc4">REGEXEXTRACT関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=REGEXEXTRACT(テキスト, 正規表現パターン, [戻り値モード], [大文字小文字の区別])</code></pre>



<p class="wp-block-paragraph">第3引数と第4引数は省略可能です。まずは第1・第2引数だけで十分使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">第1引数：テキスト</span></h3>



<p class="wp-block-paragraph">抽出元の文字列またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;お問い合わせ: taro@example.com まで&quot;, &quot;[w.+-]+@[w.-]+&quot;)
=REGEXEXTRACT(A2, &quot;d+&quot;)</code></pre>



<p class="wp-block-paragraph">実務ではセル参照を使うのが一般的です。セルが数値型の場合はそのままでは使えないので、TEXT関数（数値を指定した書式の文字列に変換する関数）で文字列化してから渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">第2引数：正規表現パターン</span></h3>



<p class="wp-block-paragraph">抜き出したい形式を正規表現でダブルクォーテーションで囲んで指定します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d{3}-d{4}&quot;)</code></pre>



<p class="wp-block-paragraph">上の例は「数字3桁＋ハイフン＋数字4桁」、つまり郵便番号の形式を取り出す数式です。正規表現の記号は、姉妹記事の<a href="https://mashukabu.com/excel-function-howto-use-regextest/">ExcelのREGEXTEST関数の使い方</a>で早見表にまとめていますので、あわせて確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc8">第3引数：戻り値モード（return_mode）</span></h3>



<p class="wp-block-paragraph">どのように抽出するかを数値で指定します。省略時は0です。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：<strong>最初に一致した1つ</strong>を返す</li><li><strong>1</strong>：<strong>すべての一致</strong>を配列で返す（スピル）</li><li><strong>2</strong>：<strong>キャプチャグループ</strong>（括弧で囲んだ部分）を配列で返す</li></ul>



<p class="wp-block-paragraph">この第3引数こそがREGEXEXTRACT関数の真骨頂です。後ほど具体例で詳しく見ていきます。</p>



<h3 class="wp-block-heading"><span id="toc9">第4引数：大文字小文字の区別</span></h3>



<p class="wp-block-paragraph">大文字と小文字を区別するかを数値で指定します。省略すると0（区別する）です。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：大文字と小文字を<strong>区別する</strong></li><li><strong>1</strong>：大文字と小文字を<strong>区別しない</strong></li></ul>



<p class="wp-block-paragraph">英字を含むパターンを使うときだけ気にすれば大丈夫ですよ。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;HELLO world&quot;, &quot;[a-z]+&quot;)      '&quot;world&quot;
=REGEXEXTRACT(&quot;HELLO world&quot;, &quot;[a-z]+&quot;, 0, 1) '&quot;HELLO&quot;</code></pre>



<h2 class="wp-block-heading"><span id="toc10">Excel REGEXEXTRACT関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">文字列から最初の数字列を取り出す</span></h3>



<p class="wp-block-paragraph">もっともシンプルな例です。文字列に含まれる数字をまとめて抽出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d+&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「商品コード12345番」なら結果は「12345」、「2026年4月」なら「2026」が返ります。<code>d+</code> は「数字1文字以上の繰り返し」を表します。</p>



<p class="wp-block-paragraph">抽出結果は常にテキスト型で返るので、数値として計算に使いたい場合はVALUE関数（文字列を数値に変換する関数）でラップしましょう。</p>



<pre class="wp-block-code"><code>=VALUE(REGEXEXTRACT(A2, &quot;d+&quot;))</code></pre>



<h3 class="wp-block-heading"><span id="toc12">郵便番号を抜き出す</span></h3>



<p class="wp-block-paragraph">住所の中から郵便番号だけを取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d{3}-d{4}&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「〒100-0001 東京都千代田区」なら「100-0001」が返ります。<code>{3}</code> は「直前の要素の3回繰り返し」を意味する記号です。</p>



<h3 class="wp-block-heading"><span id="toc13">本文からメールアドレスを抽出する</span></h3>



<p class="wp-block-paragraph">問い合わせメールの本文などからメールアドレスだけを抜き出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;[w.+-]+@[w.-]+.w+&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「ご連絡は taro@example.com までお願いします」なら「taro@example.com」が返ります。実務レベルのメールアドレス抽出にはこれで十分ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">IFERRORでエラーを隠す</span></h3>



<p class="wp-block-paragraph">パターンが見つからないと <code>#N/A</code> エラーになります。IFERROR関数（エラー時に代替値を返す関数）でラップすると、空欄や任意のメッセージに置き換えられます。</p>



<pre class="wp-block-code"><code>=IFERROR(REGEXEXTRACT(A2, &quot;d+&quot;), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">データにばらつきがある実務では、IFERRORとのセット使いをおすすめします。</p>



<h2 class="wp-block-heading"><span id="toc15">実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc16">電話番号の市外局番だけを抽出する</span></h3>



<p class="wp-block-paragraph">電話番号の先頭部分だけを取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;^0d{1,4}&quot;)</code></pre>



<p class="wp-block-paragraph">「03-1234-5678」なら「03」、「0120-999-888」なら「0120」が返ります。<code>^</code> は「文字列の先頭」、<code>d{1,4}</code> は「数字1〜4桁」を意味します。</p>



<p class="wp-block-paragraph">市外局番と市内局番・加入者番号に分けたい場合は、次のキャプチャグループの例が便利です。</p>



<h3 class="wp-block-heading"><span id="toc17">URLからドメイン部分を取得する</span></h3>



<p class="wp-block-paragraph">URLからホスト名（ドメイン）だけを取り出す例です。キャプチャグループ（括弧 <code>()</code> で囲んだ部分）と第3引数 <code>2</code> を組み合わせます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;https?://([^/]+)&quot;, 2)</code></pre>



<p class="wp-block-paragraph">A2が「https://www.mashukabu.com/excel-tips/」なら「www.mashukabu.com」が返ります。括弧で囲んだ <code>[^/]+</code>（スラッシュ以外の1文字以上）の部分だけが抽出されるイメージです。</p>



<p class="wp-block-paragraph">第3引数を <code>2</code> にすることで、括弧で囲んだキャプチャグループの中身だけを取り出せるのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc18">日付文字列から年・月・日を分離する</span></h3>



<p class="wp-block-paragraph">「2026-04-09」のような文字列を年・月・日の3つに分解する例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;(d{4})-(d{2})-(d{2})&quot;, 2)</code></pre>



<p class="wp-block-paragraph">この数式はスピル（数式が自動で配列に展開される機能）に対応していて、1つのセルに入力すると右方向に3つのセルへ「2026」「04」「09」が展開されます。</p>



<p class="wp-block-paragraph">括弧を3つ書いてそれぞれの部分をキャプチャしているのがコツです。スラッシュ区切りの日付なら次のように書きます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;(d{4})/(d{1,2})/(d{1,2})&quot;, 2)</code></pre>



<p class="wp-block-paragraph">LEFT・MID・RIGHTで3つのセルに分解していた従来の方法と比べて、圧倒的にシンプルですよね。</p>



<h3 class="wp-block-heading"><span id="toc19">本文中のハッシュタグをすべて抽出する</span></h3>



<p class="wp-block-paragraph">SNS投稿の文字列からハッシュタグをまとめて取り出す例です。第3引数に <code>1</code> を指定すると、一致するものをすべて配列として返します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;#w+&quot;, 1)</code></pre>



<p class="wp-block-paragraph">A2が「今日の学び #Excel #REGEXEXTRACT #正規表現」なら、下方向に「#Excel」「#REGEXEXTRACT」「#正規表現」の3つがスピルします。ハッシュタグの棚卸しやSNS運用のレポートで重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">メールアドレスからユーザー名とドメインを分ける</span></h3>



<p class="wp-block-paragraph">アットマークの前後を分けて取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;([w.+-]+)@([w.-]+)&quot;, 2)</code></pre>



<p class="wp-block-paragraph">A2が「taro@example.com」なら「taro」「example.com」の2つに分かれてスピルします。顧客リストのドメインごとの集計などに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc22">#N/A エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 指定した正規表現パターンに一致する部分が見つからない。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: IFERROR関数で代替値を返すようにします。データ全体でパターンが統一されていない場合の定番対処です。</p>



<pre class="wp-block-code"><code>=IFERROR(REGEXEXTRACT(A2, &quot;d+&quot;), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">パターン自体が間違っていないか、サンプルデータで動作を確認してから本番データに適用するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc23">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 第2引数に無効な正規表現を指定した。または第1引数に数値型セルを直接渡した。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 正規表現パターンを見直しましょう。特にエスケープ忘れ（<code>(</code> をそのまま使うなど）が多いので注意してください。数値セルを渡す場合はTEXT関数で文字列化します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(TEXT(A2, &quot;0&quot;), &quot;d+&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc24">#NAME? エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: REGEXEXTRACT関数に対応していないバージョンのExcelで使っている。または関数名のスペルミス。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024などでは使えません。</p>



<h3 class="wp-block-heading"><span id="toc25">エラー一覧表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>パターン不一致</td><td>IFERRORで代替値</td></tr><tr><td>#VALUE!</td><td>無効な正規表現・非文字列</td><td>パターン見直し・TEXTで変換</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">エラーが出ても原因は限られているので、落ち着いて確認すれば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc26">列全体に一括適用する方法（MAP関数との組み合わせ）</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数にセル範囲を直接渡すと <code>#VALUE!</code> になってしまいます。列全体に適用したい場合は、<strong>MAP関数</strong>（配列の各要素に関数を適用する関数）と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=MAP(A2:A100, LAMBDA(x, IFERROR(REGEXEXTRACT(x, &quot;d+&quot;), &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">この数式はA2:A100の各セルに対してREGEXEXTRACTを実行し、エラーのセルは空欄に置き換えてくれます。結果はA2から下方向にスピルします。</p>



<h3 class="wp-block-heading"><span id="toc27">MAP + LAMBDAの書き方パターン</span></h3>



<pre class="wp-block-code"><code>=MAP(範囲, LAMBDA(変数名, IFERROR(REGEXEXTRACT(変数名, &quot;パターン&quot;), &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph"><code>LAMBDA</code> の第1引数は変数名（任意）で、第2引数に実行する処理を書きます。次の例では電話番号列から市外局番だけを一括抽出しています。</p>



<pre class="wp-block-code"><code>=MAP(B2:B50, LAMBDA(tel, IFERROR(REGEXEXTRACT(tel, &quot;^0d{1,4}&quot;), &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">従来はフィルコピーや絶対参照の調整が必要でしたが、MAP関数を使えばセル1つに数式を書くだけで済みます。大量データの一括処理で特に重宝しますよ。</p>



<h2 class="wp-block-heading"><span id="toc28">REGEXTEST と組み合わせたフィルタリングパターン</span></h2>



<p class="wp-block-paragraph">「パターンに一致するものだけを別セルに抽出したい」という場面では、REGEXTEST関数（パターンに一致するか TRUE/FALSE を返す関数）とFILTER関数を組み合わせるのが効果的です。</p>



<h3 class="wp-block-heading"><span id="toc29">メールアドレスが含まれる行だけを絞り込む</span></h3>



<pre class="wp-block-code"><code>=FILTER(A2:A100, REGEXTEST(A2:A100, &quot;[w.+-]+@[w.-]+.w+&quot;))</code></pre>



<p class="wp-block-paragraph">この数式でA2:A100の中から、メールアドレスのパターンを含む行だけをすべて取り出せます。REGEXTEST が各行に TRUE/FALSE を返し、FILTER がTRUEの行だけを残す仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc30">絞り込んだ上で抽出する2段階パターン</span></h3>



<p class="wp-block-paragraph">REGEXTESTで先に入力値を検証してから、REGEXEXTRACTで取り出す2段階パターンも実務でよく使います。</p>



<pre class="wp-block-code"><code>=IF(REGEXTEST(A2, &quot;[w.+-]+@[w.-]+.w+&quot;),
    REGEXEXTRACT(A2, &quot;[w.+-]+@[w.-]+.w+&quot;),
    &quot;メール形式ではありません&quot;)</code></pre>



<p class="wp-block-paragraph">同じパターンを2回書く必要がありますが、エラーメッセージを日本語で出せるのがIFERROR単独との違いです。パターンが長い場合はLET関数で変数化すると管理しやすくなります。</p>



<pre class="wp-block-code"><code>=LET(
  pattern, &quot;[w.+-]+@[w.-]+.w+&quot;,
  IF(REGEXTEST(A2, pattern), REGEXEXTRACT(A2, pattern), &quot;&quot;)
)</code></pre>



<p class="wp-block-paragraph"><code>LET</code> 関数（変数を定義して数式を整理できる関数）を使うとパターンを1か所で管理でき、正規表現を修正するときも1箇所直すだけで済みますよ。</p>



<h2 class="wp-block-heading"><span id="toc31">REGEXREPLACE との使い分けと連携</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACTで「取り出せない」と感じたとき、REGEXREPLACEで「不要な部分を消す」発想に切り替えると解決できることがあります。</p>



<h3 class="wp-block-heading"><span id="toc32">取り出しにくいなら「削除」で代用する</span></h3>



<p class="wp-block-paragraph">たとえば「売上: ¥1,200」から数字とカンマだけを取り出したい場合、次の2つの書き方が考えられます。</p>



<p class="wp-block-paragraph"><strong>REGEXEXTRACTで取り出すアプローチ:</strong></p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;[d,]+&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>REGEXREPLACEで不要部分を削除するアプローチ:</strong></p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;[^d,]&quot;, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">後者は「数字とカンマ以外をすべて削除する」という発想です。<code>[^...]</code> は「括弧内の文字以外」を表す否定文字クラスです。複雑な抽出パターンを考えるより、削除するパターンのほうがシンプルに書けるケースも多いですよ。</p>



<h3 class="wp-block-heading"><span id="toc33">よく使う正規表現パターン早見表</span></h3>



<p class="wp-block-paragraph">実務でよく登場する正規表現パターンをまとめました。コピーしてそのまま使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>用途</th><th>パターン</th><th>例</th></tr></thead><tbody><tr><td>整数</td><td><code>d+</code></td><td>123</td></tr><tr><td>小数点あり数値</td><td><code>d+.?d*</code></td><td>1200.5</td></tr><tr><td>郵便番号</td><td><code>d{3}-d{4}</code></td><td>100-0001</td></tr><tr><td>固定電話</td><td><code>0d{1,4}-d{1,4}-d{4}</code></td><td>03-1234-5678</td></tr><tr><td>携帯電話</td><td><code>0[789]0-d{4}-d{4}</code></td><td>090-1234-5678</td></tr><tr><td>メールアドレス</td><td><code>[w.+-]+@[w.-]+.w+</code></td><td>user@example.com</td></tr><tr><td>URLドメイン</td><td><code>https?://([^/]+)</code></td><td>www.example.com</td></tr><tr><td>日付（ハイフン）</td><td><code>d{4}-d{2}-d{2}</code></td><td>2026-04-09</td></tr><tr><td>日本語の年月日</td><td><code>(d{4})年(d{1,2})月(d{1,2})日</code></td><td>2026年4月9日</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc34">REGEXTEST・REGEXREPLACEとの使い分け</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数には2つの姉妹関数があります。用途が異なるので、目的に合わせて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>用途</th></tr></thead><tbody><tr><td>REGEXTEST</td><td>TRUE / FALSE</td><td>パターンに一致するかを判定する</td></tr><tr><td>REGEXEXTRACT</td><td>一致した文字列</td><td>パターンに一致する部分を抜き出す</td></tr><tr><td>REGEXREPLACE</td><td>置換後の文字列</td><td>パターンに一致する部分を別の文字列に置き換える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けのフローは次のとおりです。</p>



<ul class="wp-block-list"><li>「メールアドレスとして正しいか？」→ REGEXTEST</li><li>「本文からメールアドレスだけ抜き出したい」→ REGEXEXTRACT</li><li>「電話番号のハイフンを削除したい」→ REGEXREPLACE</li></ul>



<p class="wp-block-paragraph">3つとも同じPCRE2（Perl互換の正規表現）の書き方に対応しているので、パターンの知識はそのまま共通で使えます。REGEXTESTの詳しい使い方は<a href="https://mashukabu.com/excel-function-howto-use-regextest/">ExcelのREGEXTEST関数の使い方</a>でも解説していますので、あわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc35">まとめ</span></h2>



<p class="wp-block-paragraph">REGEXEXTRACT関数は、Excelのセル上で正規表現を使って文字列を抜き出せる関数です。</p>



<p class="wp-block-paragraph">この記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=REGEXEXTRACT(テキスト, 正規表現パターン, [戻り値モード], [大文字小文字の区別])</code></li><li>Microsoft 365のサブスクリプションが必要</li><li>第3引数 <code>0</code> で最初の一致、<code>1</code> で全一致、<code>2</code> でキャプチャグループを取得</li><li>キャプチャグループ（括弧）を使うと日付やURLを複数パートに分解できる</li><li>戻り値は常にテキスト型なので数値計算ではVALUE関数でラップする</li><li><code>#N/A</code> エラーはIFERROR関数で代替値を返すのが定番対処</li><li>姉妹関数のREGEXTEST（判定）・REGEXREPLACE（置換）と使い分けると便利</li></ul>



<p class="wp-block-paragraph">まずは <code>=REGEXEXTRACT("価格1200円", "d+")</code> のようなシンプルな式から試してみてください。LEFTやMIDを組み合わせた長い数式から解放されて、データ整理がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-regexextract/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
