Hoppa till huvudinnehåll

Hur extraherar jag snabbt e-postadress från textsträng?

När du importerar några e-postadresser från Webbplats till Excel-kalkylblad innehåller det alltid irrelevant text, men nu vill du bara extrahera de rena e-postadresserna från textsträngen (se följande skärmdumpar). Hur kunde du snabbt bara få e-postadresserna från celltexten?

doc-extract-e-postmeddelanden1 -2 doc-extract-e-postmeddelanden2

Extrahera e-postadress från textsträng med Formel

Extrahera e-postadress från textsträng med användardefinierad funktion

Extrahera e-postadress från textsträng med VBA-kod

Extrahera e-postadress från textsträng med Kutools för Excel


pil blå höger bubbla Extrahera e-postadress från textsträng med Formel

Här introducerar jag dig en lång formel för att endast extrahera e-postadresserna från texten i Excel. Gör så här:

1. Ange den här formeln i den intilliggande cellen B1 = TRIM (HÖGER (SUBSTITUT (VÄNSTER (A1, HITTA ("", A1 & "", HITTA ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).

doc-extract-e-postmeddelanden3

2. Tryck sedan på ange välj sedan cellen B1 och dra påfyllningshandtaget till det intervall som du vill innehålla denna formel. Och e-postadresserna i intervallet har extraherats från textsträngen. Se skärmdump:

doc-extract-e-postmeddelanden4

Anmärkningar:

1. Tecknet efter e-postadressen extraheras också.

2. Om cellerna inte innehåller e-postadresserna visar formeln felvärden.

3. Om det finns mer än en e-postadress i en cell kommer formeln endast att extrahera den första adressen.


Extrahera flera e-postadresser från textsträngar

Kutools för ExcelÄr Extrahera e-postadress kan hjälpa dig att extrahera e-postadresserna från textsträngarna snabbt och bekvämt. Klicka för att ladda ner Kutools för Excel!

doc extrahera e-postmeddelanden-1

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!


pil blå höger bubbla Extrahera e-postadress från textsträng med användardefinierad funktion

Förutom ovanstående formel kan en användardefinierad funktion också hjälpa dig att få e-postadressen från textsträngen.

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande makro i modulfönstret.

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. Spara sedan koden och ange formeln = ExtractEmailFun (A1) i en intilliggande tom cell, se skärmdump:

doc-extract-e-postmeddelanden5

4. Och tryck sedan på ange välj cellen B1 och dra fyllningshandtaget till det intervall som du behöver formeln. Och alla e-postadresser har extraherats från celltexten. Se skärmdump:

doc-extract-e-postmeddelanden6

Anmärkningar:

1. Om cellerna inte har e-postadresserna kommer det att avslöja tomma celler.

2. Om det finns mer än en e-postadress i en cell extraheras alla e-postmeddelanden.


pil blå höger bubbla Extrahera e-postadress från textsträng med VBA-kod

Om du tycker att ovanstående formler är besvärliga för dig, kan följande VBA-kod hjälpa dig att extrahera e-postadresserna i taget.

1. Håll ner ALT + F11 knapparna, och det öppnas en Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande makro i Modulfönster.

VBA: extrahera e-postadresser från textsträng

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. Tryck sedan på F5 nyckel för att köra den här koden, och du bör välja ett intervall som du vill använda VBA i dialogrutan poppade ut, se skärmdump:

doc-extract-e-postmeddelanden7

4. Klicka sedan OK, och e-postadresserna har extraherats från de valda textsträngarna. Se skärmdumpar:

doc-extract-e-postmeddelanden8 -2 doc-extract-e-postmeddelanden9

Anmärkningar:

1. Om cellerna inte har e-postadresserna kommer det att avslöja tomma celler.

2. Alla e-postmeddelanden extraheras om det finns mer än en e-postadress i en cell.

3. De extraherade e-postmeddelandena täcker originaldata, så det är bättre att säkerhetskopiera data först om du behöver.


pil blå höger bubbla Extrahera e-postadress från textsträng med Kutools för Excel med ett klick

Ovanstående metoder ser lite komplicerade ut för vår nybörjare i Excel, här kan jag rekommendera dig ett snabbt och enkelt verktyg- Kutools för Excel, med dess Extrahera e-postadress verktyg kan du extrahera e-postadresserna från textsträngarna utan mycket ansträngning.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

Om du har installerat Kutools för Excel, gör så här:

1. Markera cellerna som innehåller textsträngarna.

2. Klicka Kutools > text > Extrahera e-postadress, se skärmdump:

3. Och en Extrahera e-postadress dialogrutan dyker upp, välj en cell där du vill placera resultatet, se skärmdump:

doc-extract-e-postmeddelanden9

4. Klicka sedan OK knappen, alla e-postadresser har extraherats från textsträngarna, se skärmdump:

doc-extract-e-postmeddelanden9

Klicka för att ladda ner och prova gratis Kutools för Excel nu!


pil blå höger bubbla Demo: Extrahera e-postadress från textsträng med Kutools för Excel

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Relaterad artikel:

Hur extraherar jag domäner från flera e-postadresser i Excel?

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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