Extrahera snabbt e-postadress från textsträng i Excel - En fullständig guide
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.

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.
- Klicka på den första cellen i den intilliggande kolumnen (t.ex. B2) där du vill att e-postadresserna ska visas.
- 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.
- 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.
- 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.
Efter att ha laddat ner och installerat Kutools för Excel, gör så här:
- Välj intervallet av celler som du vill extrahera e-postadresser från. Gå sedan till välj Kutools > text > Extrahera e-postadress
- I poppar upp Extrahera e-postadress dialogrutan, välj en cell för att mata ut e-postadressen och klicka OK
Resultat
Sedan extraheras alla e-postadresser i varje cell i det valda intervallet omedelbart.

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))).
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:
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:
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:
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:
4. Klicka sedan OK, och e-postadresserna har extraherats från de valda textsträngarna. Se skärmdumpar:
![]() | ![]() | ![]() |
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.
Demo: Extrahera e-postadress från textsträng med Kutools för Excel
Relaterad artikel:
Hur extraherar jag domäner från flera e-postadresser i Excel?
Bästa kontorsproduktivitetsverktyg
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!