Hvordan udpakkes hurtigt e-mail-adresse fra tekststreng?
Når du importerer nogle e-mail-adresser fra webstedet til Excel-regneark, indeholder der altid irrelevant tekst, men nu vil du bare udtrække de rene e-mail-adresser fra tekststrengen (se følgende skærmbilleder). Hvordan kunne du hurtigt kun få e-mail-adresserne fra celleteksten?
Uddrag e-mail-adresse fra tekststreng med formel Uddrag e-mail-adresse fra tekststreng med brugerdefineret funktion |
Uddrag e-mail-adresse fra tekststreng med formel
Her introducerer jeg dig en lang formel for kun at udtrække e-mail-adresserne fra teksten i Excel. Gør som følger:
1. Indtast denne formel i den tilstødende celle B1 = TRIM (HØJRE (SUBSTITUT (VENSTRE (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. Tryk derefter på Indtast nøgle, vælg derefter celle B1, og træk fyldhåndtaget til det område, du vil indeholde denne formel. Og e-mail-adresserne i området er udvundet fra tekststrengen. Se skærmbillede:
Bemærkninger:
1. Tegnsætningen efter e-mail-adressen ekstraheres også.
2. Hvis cellerne ikke indeholder e-mail-adresserne, viser formlen fejlværdier.
3. Hvis der er mere end en e-mail-adresse i en celle, udtrækker formlen kun den første adresse.
Uddrag flere e-mail-adresser fra tekststrenge
Kutools til Excel's Uddrag e-mail-adresse kan hjælpe dig med at udtrække e-mail-adresserne fra tekststrengene hurtigt og bekvemt. Klik for at downloade Kutools til Excel!
Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!
Uddrag e-mail-adresse fra tekststreng med brugerdefineret funktion
Bortset fra ovenstående formel kan en brugerdefineret funktion også hjælpe dig med at få e-mail-adressen fra tekststrengen.
1. Hold nede ALT + F11 tasterne, og det åbner Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende makro i modulvinduet.
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. Gem derefter koden, og indtast formlen = ExtractEmailFun (A1) i en tilstødende tom celle, se skærmbillede:
4. Og tryk derefter på Indtast nøgle, vælg celle B1, og træk udfyldningshåndtaget over til det område, som du har brug for formlen. Og alle e-mail-adresser er udvundet fra celleteksten. Se skærmbillede:
Bemærkninger:
1. Hvis cellerne ikke har e-mail-adresserne, afslører det tomme celler.
2. Hvis der er mere end en e-mail-adresse i en celle, udpakkes alle e-mails.
Uddrag e-mail-adresse fra tekststreng med VBA-kode
Hvis du føler, at ovenstående formler er besværlige for dig, kan følgende VBA-kode hjælpe dig med at udtrække e-mail-adresserne ad gangen.
1. Hold nede ALT + F11 taster, og det åbner en Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende makro i Modulvindue.
VBA: udpak e-mail-adresser fra tekststreng
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. Tryk derefter på F5 nøgle til at køre denne kode, og du skal vælge et område, som du vil bruge VBA i den poppede dialog, se skærmbillede:
4. Klik derefter på OK, og e-mail-adresserne er udvundet fra de valgte tekststrenge. Se skærmbilleder:
Bemærkninger:
1. Hvis cellerne ikke har e-mail-adresserne, afslører det tomme celler.
2. Alle e-mails ekstraheres, hvis der er mere end en e-mail-adresse i en celle.
3. De udpakkede e-mails dækker de originale data, så du må hellere sikkerhedskopiere dataene, hvis du har brug for det.
Uddrag e-mail-adresse fra tekststreng med Kutools til Excel med et enkelt klik
Ovenstående metoder ser noget kompliceret ud for vores Excel-nybegynder, her kan jeg anbefale dig et hurtigt og nemt værktøj- Kutools til Excel, Med Uddrag e-mail-adresse værktøj, kan du udtrække e-mail-adresserne fra tekststrengene uden megen anstrengelse.
Kutools til Excel : med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. |
Hvis du har installeret Kutools til Excelskal du gøre som følger:
1. Vælg cellerne, der indeholder tekststrengene.
2. Klik Kutools > tekst > Uddrag e-mail-adresse, se skærmbillede:
3. Og en Uddrag e-mail-adresse dialogboksen vises, vælg en celle, hvor du vil placere resultatet, se skærmbillede:
4. Klik derefter på OK knap, alle e-mail-adresserne er udvundet fra tekststrengene, se skærmbillede:
Klik for at downloade og gratis prøveversion Kutools til Excel nu!
Demo: Uddrag e-mail-adresse fra tekststreng med Kutools til Excel
Relateret artikel:
Hvordan udpakkes domæner fra flere e-mail-adresser i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!