Excel でテキスト文字列から電子メールアドレスを抽出するを素早く抽出する完全ガイド
Excel でインポートされたデータや混在したテキスト文字列を扱う際、電子メールアドレスを迅速かつ正確に抽出する必要が生じることがあります。たとえば、他のテキストと混在したメールアドレスのリストを処理している場合や、大規模なデータセットからメールアドレスを抽出したい場合など、作業を効率的に完了させるためのさまざまな方法があります。本ガイドでは、フラッシュフィル、Kutools for Excel、数式、ユーザー定義関数、VBA コードを活用して、テキスト文字列から電子メールアドレスを抽出する手法を詳しく解説します。各手法は、ご要望やデータの複雑さに応じて異なるメリットを提供します。

フラッシュフィルでテキスト文字列から電子メールアドレスを抽出するを抽出
Excel のフラッシュフィル機能は、ユーザーが定義したパターンに基づいてデータを自動的に整形・抽出するための迅速で効率的な方法を提供します。このセクションでは、混在データの列から電子メールアドレスを抽出する方法を説明します。この方法は、さまざまな種類のテキストが混在したリストから特定のメールアドレスのみを抽出したい場合に特に役立ちます。
- 隣接する列(例:B2)でメールアドレスを表示したいセルをクリックしてください。
- 列 A の対応する行からメールアドレスを手動で入力し、Enter キーを押してください。たとえば、A2 に「ana varela@gmail.com」が含まれている場合、B2 に「ana varela@gmail.com」と入力します。

- セル B3 にカーソルを置いたまま、「Ctrl + E」を押してフラッシュフィルを有効にします。Excel が列 B の残りのセルに自動的に電子メールアドレスを入力します。

- フラッシュフィルはExcel 2013 以降のバージョンでご利用いただけます。Excel 2010 以前をご利用の場合、この機能が使えないことがあります。
- フラッシュフィルを適用するセルが「テキスト」形式に設定されていることをご確認ください。これにより、意図しない書式の問題を回避できます。
Kutools でワンクリックで一括してテキスト文字列から電子メールアドレスを抽出するを抽出
電子メールアドレスを抽出する際には、Kutools for Excel の「電子メールアドレスを抽出する」機能が、Excel のフラッシュフィルに代わる強力な選択肢となります。フラッシュフィルがパターン認識に対して手動でのアプローチを必要とするのに対し、Kutools for Excel はワンクリックでこのプロセスを自動化し、大量のデータを効率的に処理できます。このツールは抽出作業を大幅に簡素化するだけでなく、特に複雑または不整合のあるデータセットを扱う際にも、高い精度とスピードを実現します。
Kutools for Excel をダウンロードしてインストールした後、以下の手順に従ってください。
- 電子メールアドレスを抽出したいセル範囲を選択し、「Kutools」>「テキスト」>「電子メールアドレスを抽出する」の順にクリックします。
- 表示された「電子メールアドレスを抽出する」ダイアログボックスで、メールアドレスを出力するセルを選択して「OK」をクリックしてください。

結果
すると、「範囲を選択してください」の各セル内のすべてのメールアドレスが即座に抽出されます。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
数式でテキスト文字列から電子メールアドレスを抽出するを抽出
ここでは、Excel のテキストからメールアドレスのみを抽出するための長い数式をご紹介します。以下の手順に従ってください。
1。隣接するセル B1 に、次の数式を入力してください。
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1))) 
2。Enter キーを押した後、セル B1 を選択し、フィルハンドルを数式を適用したい範囲までドラッグしてください。すると、指定された範囲内のテキスト文字列からメールアドレスが自動的に抽出されます。下のスクリーンショットをご確認ください。

注意事項:
1。メールアドレスの後にある句読点も抽出されます。
2。セルにメールアドレスが含まれていない場合、数式はエラー値を返します。
3。セル内に複数のメールアドレスが含まれる場合、数式は最初のもののみを抽出します。
ユーザー定義関数でテキスト文字列から電子メールアドレスを抽出するを抽出
上記の数式以外にも、ユーザー定義関数を使ってテキスト文字列からメールアドレスを抽出できます。
1。「ALT + F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが起動します。
2。「挿入」>「モジュール」をクリックし、表示されるモジュールウィンドウに次のマクロを貼り付けてください。
Function ExtractEmailFun(extractStr As String) As String
'Update by extendoffice
Dim CharList As String
On Error Resume Next
CheckStr = "[A-Za-z0-9._-]"
OutStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If OutStr = "" Then
OutStr = getStr
Else
OutStr = OutStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
ExtractEmailFun = OutStr
End Function 3。その後、コードを保存し、隣接する空白セルに数式 =ExtractEmailFun(A1)を入力してください(下のスクリーンショットを参照)。

4。Enter キーを押してセル B1 を選択し、必要な範囲までフィルハンドルをドラッグしてください。これにより、セル内のテキストからすべてのメールアドレスが自動的に抽出されます。下のスクリーンショットをご確認ください。

注意事項:
1。セルにメールアドレスが含まれていない場合、そのセルは空白として表示されます。
2。セル内に複数のメールアドレスが含まれている場合、すべてが抽出されます。
VBA コードでテキスト文字列から電子メールアドレスを抽出するを抽出
上記の数式が煩雑に感じられる場合は、次の VBA コードで電子メールアドレスを素早く抽出できます。
1。「ALT + F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが起動します。
2。「挿入」>「モジュール」をクリックし、表示されるモジュールウィンドウに次のマクロを貼り付けてください。
VBA:テキスト文字列から電子メールアドレスを抽出するを抽出
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
extractStr = arr(i, j)
outStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If outStr = "" Then
outStr = getStr
Else
outStr = outStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
arr(i, j) = outStr
Next
Next
WorkRng.Value = arr
End Sub 3。F5 キーを押してこのコードを実行し、表示されるダイアログで VBA を適用したい範囲を選択してください(下のスクリーンショットを参照)。

4。「OK」をクリックすると、選択したテキストからメールアドレスが自動抽出されます。下のスクリーンショットをご確認ください。
![]() | ![]() | ![]() |
注意事項:
1。セルにメールアドレスが含まれていない場合、そのセルは空白として表示されます。
2。セル内に複数のメールアドレスが含まれる場合、すべてが抽出されます。
3。抽出されたメールアドレスは元のデータを上書きするため、あらかじめデータのバックアップを取得することをおすすめします。
デモ:Kutools for Excel でテキスト文字列から電子メールアドレスを抽出するを抽出
関連記事:
Excel で複数のメールアドレスからドメインを抽出するには、どうすればよいですか?
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得





