テキスト文字列からメールアドレスをすばやく抽出するにはどうすればよいですか?
WebサイトからExcelワークシートにいくつかの電子メールアドレスをインポートすると、常に無関係なテキストが含まれますが、テキスト文字列から純粋な電子メールアドレスを抽出するだけです(次のスクリーンショットを参照)。 セルテキストからのみメールアドレスをすばやく取得するにはどうすればよいですか?
Formulaを使用してテキスト文字列からメールアドレスを抽出する ユーザー定義関数を使用してテキスト文字列からメールアドレスを抽出します |
Formulaを使用してテキスト文字列からメールアドレスを抽出する
ここでは、Excelのテキストからメールアドレスのみを抽出するための長い数式を紹介します。 次のようにしてください。
1。 隣接するセルB1に、この数式を入力します = TRIM(RIGHT(SUBSTITUTE(LEFT(A1、FIND( ""、A1& ""、FIND( "@"、A1))-1)、 ""、REPT( ""、LEN(A1)))、LEN( A1))).
2。 次に、 入力します キーを押してからセルB1を選択し、この数式を含める範囲まで塗りつぶしハンドルをドラッグします。 また、範囲内の電子メールアドレスはテキスト文字列から抽出されています。 スクリーンショットを参照してください:
注意:
1.メールアドレスの後の句読点も抽出されます。
2.セルに電子メールアドレスが含まれていない場合、数式にはエラー値が表示されます。
3.セルに複数の電子メールアドレスがある場合、数式は最初のアドレスのみを抽出します。
テキスト文字列から複数のメールアドレスを抽出する
Kutools for Excelさん メールアドレスを抽出する テキスト文字列から電子メールアドレスをすばやく便利に抽出するのに役立ちます。 クリックしてKutoolsfor Excelをダウンロードしてください!
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) 隣接する空白のセルで、スクリーンショットを参照してください。
4。 そして、 入力します キーを押しながらセルB1を選択し、数式が必要な範囲まで塗りつぶしハンドルをドラッグします。 そして、すべての電子メールアドレスがセルテキストから抽出されました。 スクリーンショットを参照してください:
注意:
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を使用する範囲を選択する必要があります。スクリーンショットを参照してください。
4。 次に、をクリックします OK、および電子メールアドレスは選択したテキスト文字列から抽出されています。 スクリーンショットを参照してください:
注意:
1.セルに電子メールアドレスがない場合は、空白のセルが表示されます。
2.セルに複数のメールアドレスがある場合、すべてのメールが抽出されます。
3.抽出された電子メールは元のデータをカバーするため、必要に応じて最初にデータをバックアップすることをお勧めします。
ワンクリックでKutoolsforExcelを使用してテキスト文字列からメールアドレスを抽出します
上記の方法は、Excelの初心者にはやや複雑に見えます。ここでは、すばやく簡単なツールをお勧めします- Kutools for Excelそのと メールアドレスを抽出する ユーティリティを使用すると、テキスト文字列からメールアドレスを簡単に抽出できます。
Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます. |
あなたがインストールしている場合 Kutools for Excel、次のようにしてください。
1。 テキスト文字列を含むセルを選択します。
2に設定します。 OK をクリックします。 クツール > テキスト > メールアドレスを抽出する、スクリーンショットを参照してください:
3。 と メールアドレスを抽出する ダイアログボックスが表示され、結果を配置するセルを選択します。スクリーンショットを参照してください。
4。 次に、をクリックします OK ボタンをクリックすると、すべてのメールアドレスがテキスト文字列から抽出されました。スクリーンショットを参照してください。
クリックしてダウンロードし、Excel用の無料トライアルKutoolsを今すぐ!
デモ:Kutools forExcelを使用してテキスト文字列からメールアドレスを抽出する
関連記事:
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% 向上させ、毎日何百回もマウス クリックを減らすことができます!