メインコンテンツへスキップ

テキスト文字列からメールアドレスをすばやく抽出するにはどうすればよいですか?

WebサイトからExcelワークシートにいくつかの電子メールアドレスをインポートすると、常に無関係なテキストが含まれますが、テキスト文字列から純粋な電子メールアドレスを抽出するだけです(次のスクリーンショットを参照)。 セルテキストからのみメールアドレスをすばやく取得するにはどうすればよいですか?

doc-extract-emails1 -2 doc-extract-emails2

Formulaを使用してテキスト文字列からメールアドレスを抽出する

ユーザー定義関数を使用してテキスト文字列からメールアドレスを抽出します

VBAコードを使用してテキスト文字列からメールアドレスを抽出します

Kutools forExcelを使用してテキスト文字列からメールアドレスを抽出します


矢印青い右バブル Formulaを使用してテキスト文字列からメールアドレスを抽出する

ここでは、Excelのテキストからメールアドレスのみを抽出するための長い数式を紹介します。 次のようにしてください。

1。 隣接するセルB1に、この数式を入力します = TRIM(RIGHT(SUBSTITUTE(LEFT(A1、FIND( ""、A1& ""、FIND( "@"、A1))-1)、 ""、REPT( ""、LEN(A1)))、LEN( A1))).

doc-extract-emails3

2。 次に、 入力します キーを押してからセルB1を選択し、この数式を含める範囲まで塗りつぶしハンドルをドラッグします。 また、範囲内の電子メールアドレスはテキスト文字列から抽出されています。 スクリーンショットを参照してください:

doc-extract-emails4

注意:

1.メールアドレスの後の句読点も抽出されます。

2.セルに電子メールアドレスが含まれていない場合、数式にはエラー値が表示されます。

3.セルに複数の電子メールアドレスがある場合、数式は最初のアドレスのみを抽出します。


テキスト文字列から複数のメールアドレスを抽出する

Kutools for Excelさん メールアドレスを抽出する テキスト文字列から電子メールアドレスをすばやく便利に抽出するのに役立ちます。 クリックしてKutoolsfor Excelをダウンロードしてください!

doc抽出メール-1

Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!


矢印青い右バブル ユーザー定義関数を使用してテキスト文字列からメールアドレスを抽出します

上記の式を除いて、ユーザー定義関数は、テキスト文字列から電子メールアドレスを取得するのにも役立ちます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のマクロを貼り付けます。

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) 隣接する空白のセルで、スクリーンショットを参照してください。

doc-extract-emails5

4。 そして、 入力します キーを押しながらセルB1を選択し、数式が必要な範囲まで塗りつぶしハンドルをドラッグします。 そして、すべての電子メールアドレスがセルテキストから抽出されました。 スクリーンショットを参照してください:

doc-extract-emails6

注意:

1.セルに電子メールアドレスがない場合は、空白のセルが表示されます。

2.セルに複数のメールアドレスがある場合、すべてのメールが抽出されます。


矢印青い右バブル VBAコードを使用してテキスト文字列からメールアドレスを抽出します

上記の式が面倒だと感じる場合は、次のVBAコードを使用すると、電子メールアドレスを一度に抽出できます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のマクロをに貼り付けます モジュールウィンドウ.

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を使用する範囲を選択する必要があります。スクリーンショットを参照してください。

doc-extract-emails7

4。 次に、をクリックします OK、および電子メールアドレスは選択したテキスト文字列から抽出されています。 スクリーンショットを参照してください:

doc-extract-emails8 -2 doc-extract-emails9

注意:

1.セルに電子メールアドレスがない場合は、空白のセルが表示されます。

2.セルに複数のメールアドレスがある場合、すべてのメールが抽出されます。

3.抽出された電子メールは元のデータをカバーするため、必要に応じて最初にデータをバックアップすることをお勧めします。


矢印青い右バブル ワンクリックでKutoolsforExcelを使用してテキスト文字列からメールアドレスを抽出します

上記の方法は、Excelの初心者にはやや複雑に見えます。ここでは、すばやく簡単なツールをお勧めします- Kutools for Excelそのと メールアドレスを抽出する ユーティリティを使用すると、テキスト文字列からメールアドレスを簡単に抽出できます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます.

あなたがインストールしている場合 Kutools for Excel、次のようにしてください。

1。 テキスト文字列を含むセルを選択します。

2に設定します。 OK をクリックします。 クツール > テキスト > メールアドレスを抽出する、スクリーンショットを参照してください:

3。 と メールアドレスを抽出する ダイアログボックスが表示され、結果を配置するセルを選択します。スクリーンショットを参照してください。

doc-extract-emails9

4。 次に、をクリックします OK ボタンをクリックすると、すべてのメールアドレスがテキスト文字列から抽出されました。スクリーンショットを参照してください。

doc-extract-emails9

クリックしてダウンロードし、Excel用の無料トライアルKutoolsを今すぐ!


矢印青い右バブル デモ:Kutools forExcelを使用してテキスト文字列からメールアドレスを抽出する

Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

関連記事:

Excelで複数のメールアドレスからドメインを抽出するにはどうすればよいですか?

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (40)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
You're a genius!!!
This comment was minimized by the moderator on the site
Really helpful to extract emails in a neat way, thank you!
This comment was minimized by the moderator on the site
Malheureusement la première formule donnée se met en erreur....
This comment was minimized by the moderator on the site
Thank you very much, spend only half hour looking for this and save me ten hours of work!
This comment was minimized by the moderator on the site
This is the most useful page I have ever found on Excel - thank you.
This comment was minimized by the moderator on the site
How do you extract multiple email addresses for one cell?
This comment was minimized by the moderator on the site
Hi, Donna,
The second and the third methods in this article can help you to extract multiple Email addresses from one cell, please try, thank you!
This comment was minimized by the moderator on the site
Quando extraído mais que um email usando a macro, como separa-los depois usando uma outra célula ? Ou é possível extrair já separando ?
This comment was minimized by the moderator on the site
Saved me hours of manual parsing. Thank you!
This comment was minimized by the moderator on the site
Thank you!
This comment was minimized by the moderator on the site
Hi. This is a great job! I am sure that hundreds of people learned new stuff because of it. But if you just want to extract email addresses, you can use extractemailaddress.com . It seemed simple and quick, and I hav pasted the result in my excel spreadsheet. great!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations