Hoppa till huvudinnehåll

Extrahera snabbt e-postadress från textsträng i Excel - En fullständig guide

Författare: Xiaoyang Senast ändrad: 2024-12-18

När du hanterar importerad data eller blandade textsträngar i Excel, kanske du behöver extrahera e-postadresser snabbt och korrekt. Oavsett om du arbetar med en lista med e-postadresser blandade med annan text eller behöver hämta e-postmeddelanden från en stor datamängd, finns det flera effektiva metoder för att få jobbet gjort. Den här guiden går igenom olika tekniker för att extrahera e-postadresser från textsträngar, inklusive att använda Flash Fill, Kutools för Excel, formler, användardefinierade funktioner och VBA-kod. Varje metod erbjuder olika fördelar beroende på dina behov och komplexiteten i data.

En skärmdump av blandade textsträngar i Excel för att extrahera e-postadresser

Extrahera e-postadress från textsträng med Flash Fill

Excels Flashfyllning funktionen ger ett snabbt och effektivt sätt att automatiskt formatera eller extrahera data baserat på mönster du definierar. I det här avsnittet går vi igenom hur du använder Flash Fill för att extrahera e-postadresser från en kolumn med blandade data. Den här metoden är särskilt användbar när du hanterar listor som innehåller olika typer av text och du behöver bara extrahera e-postadresserna.

  1. Klicka på den första cellen i den intilliggande kolumnen (t.ex. B2) där du vill att e-postadresserna ska visas.
  2. Ange e-postadressen manuellt från motsvarande rad i kolumn A och tryck sedan på ange.
    Till exempel, om A2 innehåller "ana varela@gmail.com," skriv " ana varela@gmail.com " till B2.
    En skärmdump som visar manuell inmatning av en e-postadress i Excel innan du använder Flash Fill
  3. Stanna i cellen B3, tryck ctrl + E att aktivera Flashfyllning.
    Excel kommer automatiskt att fylla i resten av kolumn B med de extraherade e-postadresserna.
    En GIF av e-postadresser extraherad med Flash Fill i Excel
Anmärkningar:
  • Flashfyllning finns tillgänglig i Excel 2013 och senare versioner. Om du använder Excel 2010 eller tidigare kanske den här funktionen inte är tillgänglig.
  • Se till att cellerna där du använder Flash Fill är formaterade som "Text" för att undvika oönskade formateringsproblem.

Ett klick för att batchextrahera e-postadress från textsträng med Kutools

När det gäller att extrahera e-postadresser från en datauppsättning, Kutools för ExcelÄr Extrahera e-postadress funktionen erbjuder ett kraftfullt alternativ till Excels Flash Fill. Medan Flash Fill ger ett manuellt tillvägagångssätt för mönsterigenkänning, automatiserar Kutools för Excel processen med bara ett klick, vilket gör den idealisk för att hantera stora mängder data effektivt. Det här verktyget förenklar inte bara utvinningsprocessen utan säkerställer också noggrannhet och hastighet, särskilt när man hanterar komplexa eller inkonsekventa datauppsättningar.

Kutools för Excel erbjuder över 300 avancerade funktioner för att effektivisera komplexa uppgifter, vilket ökar kreativiteten och effektiviteten. Förbättrad med AI-funktioner, Kutools automatiserar uppgifter med precision, vilket gör datahantering enkel. Detaljerad information om Kutools för Excel...         Gratis provperiod...

Efter att ha laddat ner och installerat Kutools för Excel, gör så här:

  1. Välj intervallet av celler som du vill extrahera e-postadresser från. Gå sedan till välj Kutools > text > Extrahera e-postadress
  2. I poppar upp Extrahera e-postadress dialogrutan, välj en cell för att mata ut e-postadressen och klicka OK
    En skärmdump av Kutools Extract Email Address-funktionen i aktion
Resultat

Sedan extraheras alla e-postadresser i varje cell i det valda intervallet omedelbart.

En skärmdump som visar resultaten av e-postextraktion med Kutools

Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av permanent gratis AI-funktioner! Hämta den nu


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))).

En skärmdump som visar en formel för att extrahera e-postadresser i Excel

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:

En skärmdump av e-postadresser extraherade med hjälp av en formel i Excel

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 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:

En skärmdump som visar en användardefinierad funktion för att extrahera e-postadresser i Excel

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:

En skärmdump av e-postadresser extraherade med en användardefinierad funktion i Excel

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.


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

Om formlerna ovan känns krångliga kan följande VBA-kod hjälpa dig att snabbt extrahera e-postadresser.

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:

En skärmdump som visar urvalet för VBA-e-postextraktion i Excel

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

En skärmdump som visar originaltexten innan du använder VBA för e-postextrahering arrow En skärmdump av resultaten efter att ha extraherat e-postmeddelanden med VBA-kod i Excel

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 kommer att skriva över originaldata, så det rekommenderas att säkerhetskopiera din data först.


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

Kutools för Excel: Över 300 praktiska verktyg till hands! Njut av permanent gratis AI-funktioner! Ladda ner 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...


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!