Note: The other languages of the website are Google-translated. Back to English

Wie extrahiere ich schnell eine E-Mail-Adresse aus einer Textzeichenfolge?

Wenn Sie einige E-Mail-Adressen aus dem Arbeitsblatt Website in Excel importieren, enthält dieser immer irrelevanten Text. Jetzt möchten Sie nur noch die reinen E-Mail-Adressen aus der Textzeichenfolge extrahieren (siehe folgende Screenshots). Wie können Sie schnell nur die E-Mail-Adressen aus dem Zellentext abrufen?

doc-extract-email1 -2 doc-extract-email2

Extrahieren Sie die E-Mail-Adresse mit der Formel aus der Textzeichenfolge

Extrahieren Sie die E-Mail-Adresse mit der benutzerdefinierten Funktion aus der Textzeichenfolge

Extrahieren Sie die E-Mail-Adresse aus der Textzeichenfolge mit VBA-Code

Extrahieren Sie die E-Mail-Adresse mit Kutools for Excel aus der Textzeichenfolge


Pfeil blau rechte Blase Extrahieren Sie die E-Mail-Adresse mit der Formel aus der Textzeichenfolge

Hier stelle ich Ihnen eine lange Formel vor, um nur die E-Mail-Adressen aus dem Text in Excel zu extrahieren. Bitte gehen Sie wie folgt vor:

1. Geben Sie in die benachbarte Zelle B1 diese Formel ein = TRIM (RECHTS (ERSATZ) A1))).

doc-extract-email3

2. Dann drücken Weiter Wählen Sie dann die Zelle B1 aus und ziehen Sie den Füllpunkt in den Bereich, in dem diese Formel enthalten sein soll. Die E-Mail-Adressen im Bereich wurden aus der Textzeichenfolge extrahiert. Siehe Screenshot:

doc-extract-email4

Hinweise:

1. Die Interpunktion nach der E-Mail-Adresse wird ebenfalls extrahiert.

2. Wenn die Zellen keine E-Mail-Adressen enthalten, zeigt die Formel Fehlerwerte an.

3. Wenn eine Zelle mehr als eine E-Mail-Adresse enthält, extrahiert die Formel nur die erste Adresse.


Extrahieren Sie mehrere E-Mail-Adressen aus Textzeichenfolgen

Kutools for Excel E-Mail-Adresse extrahieren kann Ihnen helfen, die E-Mail-Adressen schnell und bequem aus den Textzeichenfolgen zu extrahieren. Klicken Sie hier, um Kutools für Excel herunterzuladen!

doc extrahieren E-Mails-1

Kutools for Excel: Mit mehr als 300 praktischen Excel-Add-Ins können Sie es innerhalb von 30 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!


Pfeil blau rechte Blase Extrahieren Sie die E-Mail-Adresse mit der benutzerdefinierten Funktion aus der Textzeichenfolge

Mit Ausnahme der obigen Formel kann eine benutzerdefinierte Funktion Ihnen auch dabei helfen, die E-Mail-Adresse aus der Textzeichenfolge abzurufen.

1. Halten Sie die Taste gedrückt ALT + F11 Tasten, und es öffnet die Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie das folgende Makro in das Modulfenster ein.

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. Speichern Sie dann den Code und geben Sie die Formel ein = ExtractEmailFun (A1) in einer angrenzenden leeren Zelle siehe Screenshot:

doc-extract-email5

4. Und dann drücken Weiter Wählen Sie mit der Taste die Zelle B1 aus und ziehen Sie den Füllpunkt in den Bereich, in dem Sie die Formel benötigen. Alle E-Mail-Adressen wurden aus dem Zellentext extrahiert. Siehe Screenshot:

doc-extract-email6

Hinweise:

1. Wenn die Zellen keine E-Mail-Adressen haben, werden leere Zellen angezeigt.

2. Wenn eine Zelle mehr als eine E-Mail-Adresse enthält, werden alle E-Mails extrahiert.


Pfeil blau rechte Blase Extrahieren Sie die E-Mail-Adresse aus der Textzeichenfolge mit VBA-Code

Wenn Sie der Meinung sind, dass die oben genannten Formeln für Sie problematisch sind, können Sie mit dem folgenden VBA-Code die E-Mail-Adressen auf einmal extrahieren.

1. Halten Sie die Taste gedrückt ALT + F11 Tasten, und es öffnet sich ein Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie das folgende Makro in das Feld ein Modulfenster.

VBA: E-Mail-Adressen aus Textzeichenfolge extrahieren

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. Dann drücken F5 Geben Sie im ausgeblendeten Dialogfeld einen Bereich ein, in dem Sie den VBA verwenden möchten (siehe Abbildung):

doc-extract-email7

4. Dann klick OKund die E-Mail-Adressen wurden aus den ausgewählten Textzeichenfolgen extrahiert. Siehe Screenshots:

doc-extract-email8 -2 doc-extract-email9

Hinweise:

1. Wenn die Zellen nicht über die E-Mail-Adressen verfügen, werden leere Zellen angezeigt.

2. Alle E-Mails werden extrahiert, wenn sich mehr als eine E-Mail-Adresse in einer Zelle befindet.

3. Die extrahierten E-Mails decken die Originaldaten ab. Sichern Sie die Daten daher bei Bedarf zuerst.


Pfeil blau rechte Blase Extrahieren Sie die E-Mail-Adresse mit Kutools for Excel mit einem Klick aus der Textzeichenfolge

Die oben genannten Methoden sehen für unseren Excel-Anfänger etwas kompliziert aus. Hier kann ich Ihnen ein schnelles und einfaches Tool empfehlen. Kutools for ExcelMit seinen E-Mail-Adresse extrahieren Dienstprogramm, können Sie die E-Mail-Adressen ohne großen Aufwand aus den Textzeichenfolgen extrahieren.

Kutools for Excel : Mit mehr als 300 praktischen Excel-Add-Ins können Sie diese innerhalb von 30 Tagen ohne Einschränkung testen.

Wenn Sie installiert haben Kutools for ExcelBitte gehen Sie wie folgt vor:

1. Wählen Sie die Zellen aus, die die Textzeichenfolgen enthalten.

2. Klicken Sie Kutoolen > Text > E-Mail-Adresse extrahieren, siehe Screenshot:

3. Und ein E-Mail-Adresse extrahieren Das Dialogfeld wird angezeigt. Wählen Sie eine Zelle aus, in die Sie das Ergebnis einfügen möchten. Siehe Screenshot:

doc-extract-email9

4. Dann klick OK Schaltfläche, alle E-Mail-Adressen wurden aus den Textzeichenfolgen extrahiert, siehe Screenshot:

doc-extract-email9

Klicken Sie hier, um Kutools für Excel jetzt herunterzuladen und kostenlos zu testen!


Pfeil blau rechte Blase Demo: Extrahieren Sie mit Kutools for Excel die E-Mail-Adresse aus der Textzeichenfolge

Kutools for Excel: Mit mehr als 300 praktischen Excel-Add-Ins können Sie es innerhalb von 30 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!

In Verbindung stehender Artikel:

Wie extrahiere ich Domains aus mehreren E-Mail-Adressen in Excel?


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (40)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
LUL BENUTZEN SIE DIESEN CODE FÜR E-MAIL-EXTRAKT. Sub lula() Dim d1 As Variant cntr = 0 rowstring = ActiveCell.Offset(0, 0).Value d1 = Split(rowstring, " ") Do 'MsgBox d1(cntr) cntr = cntr + 1 If d1(cntr) = "" Then GoTo ttt If InStr(d1(cntr), "@") Then MsgBox d1(cntr) GoTo ttt End If Loop While d1(cntr) "" ttt: End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
sehr hilfreich, danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke für diese Formel! Sie haben mir gerade eine Menge Arbeit erspart – ich musste 1500 E-Mails aus einer schlecht geschriebenen Excel-Tabelle für eine E-Mail-Marketing-Liste extrahieren. Als ich endlich Ihre Formel gefunden hatte, war es ein Kinderspiel.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Toller Code! Sehr nützlich. Leider werden mehrere E-Mail-Adressen verkettet, anstatt sie sinnvoll zu trennen, beispielsweise mit einem Semikolon. Wie würden Sie ein Trennzeichen hinzufügen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
kein VBA, nur Formel zum Einfügen in Zelle Ändern Sie einfach die Referenzen (das Beispiel unten betrachtet Zelle A1) =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@),A1)-1)," ",REPT( " ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1) )
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]... =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1))Von mir[/quote] Danke "ME", funktioniert wörtlich in der Google-Tabelle!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]kein VBA, nur Formel zum Einfügen in Zelle Ändern Sie einfach die Referenzen (das Beispiel unten betrachtet Zelle A1) =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@),A1)-1)," " ,REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@" ,A1))Von mir[/quote] Danke. Es hat für mich funktioniert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Tolle! Große Grüße an das VBS-Skript! VIELEN DANK!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank, das ist sehr praktisch!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das ist großartig, aber jetzt habe ich ein Problem. Zwischen allen E-Mail-Adressen (dh abcd@aol com) befindet sich ein Leerzeichen anstelle eines Punkts, sodass die Formel nicht das Ende aller E-Mail-Adressen (.net, .com usw.) in die neue Spalte einfügt. Wie kann ich das beheben?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo zusammen, ich habe auch nach einer Möglichkeit gesucht, die E-Mail-Adressen zu trennen, damit ich sie in Outlook einfügen kann. Ich habe zwischen den E-Mail-Adressen ein „; “ als Trennzeichen eingefügt, damit sie nicht zusammenlaufen. Lass mich wissen was du denkst. Danke an den Autor des Originals für das Zusammenstellen! Funktion ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" 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 getStr = getStr Exit For End If Next Index = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Then ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If Schleifenende-Funktion
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke an den Autor des Originalskripts; Ich ging voran und fügte ein „; “-Trennzeichen zwischen mehreren E-Mail-Adressen hinzu. Funktion ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" 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 getStr = getStr Exit For End If Next Index = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Then ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If Schleifenende-Funktion
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das ist gut! Danke.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Bruder, du bist wirklich genial. Die folgende Formel hat für mich funktioniert und manuelle Eingriffe eingespart, die früher Stunden gedauert haben =TRIM(RIGHT(SUBSTITUTE(LEFT(H2,FIND (" ",H2&" ",FIND("@",H2))-1)," ", REPT(" ",LEN(H2))),LEN(H2))) Gott segne dich
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich benötige weitere Informationen zum Extrahieren von E-Mails
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr geehrter Herr, wie kann ich korrekte E-Mail-IDs aus meinem E-Mail-Listenbeispiel unten a.hamilton@tradsingapore.com.sg aarabest@emirates.com.net.ae admin@countrywide.com.my extrahieren
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Da mir die Formel sehr geholfen hat, dachte ich, ich teile meine Erfahrungen. Ich lasse es gegen eine Liste von HTML-Webscrapes laufen, die manchmal so lang sind, dass die Formel fehlerhaft ist. Laut Wikipedia beträgt die maximale Länge einer E-Mail-Adresse 254 Zeichen, daher verbessert das Ersetzen der len(A1)-Teile durch 256 die Stabilität der Funktion: =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ", FIND("@",A1))-1)," ", REPT(" ",256)),256))
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ausgezeichnet, wunderbar. jeder sollte muss verwenden..
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn ich nur eine E-Mail-Adresse aus A1 extrahieren möchte, tut diese Formel dies und meldet nur ein Leerzeichen, keinen Fehler, wenn A1 keine E-Mail-Adresse enthält. Ich finde dies eine einfachere Lösung als zu versuchen, all diese Skripte zu beherrschen, und es kostet nichts. =IFERROR(TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND(" ",A1&" ",FIND("@",A1))-1)," ",REPT(" ",LEN(A1))), LÄNGE(A1))),"")
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Extrem hilfreich. Vielen Dank!!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Geile Infos! Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich verwende Excel 2007 auf einem HP. Wenn Sie Melanie Brown in A1 haben und Melanie.Brown@gmail.com in derselben Zelle lesen möchten, wie erreichen Sie dies? Ich habe eine Reihe von Mähnen, um die gleiche Weise zu tun. Wird mir jemand dabei helfen?
Es sind noch keine Kommentare vorhanden
Mehr laden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL