Hitro ekstrahirajte e-poštni naslov iz besedilnega niza v Excelu – Popoln vodnik
Ko imate opravka z uvoženimi podatki ali mešanimi besedilnimi nizi v Excelu, boste morda morali hitro in natančno ekstrahirati e-poštne naslove. Ne glede na to, ali delate s seznamom e-poštnih naslovov, pomešanim z drugim besedilom, ali morate potegniti e-poštna sporočila iz velikega nabora podatkov, obstaja več učinkovitih metod za opravljanje dela. Ta vodnik vas bo vodil skozi različne tehnike za pridobivanje e-poštnih naslovov iz besedilnih nizov, vključno z uporabo Flash Fill, Kutools for Excel, formul, uporabniško definiranih funkcij in kode VBA. Vsaka metoda ponuja različne prednosti glede na vaše potrebe in kompleksnost podatkov.
Izvlecite e-poštni naslov iz besedilnega niza s funkcijo Flash Fill
Excelov Flash Fill omogoča hiter in učinkovit način za samodejno oblikovanje ali ekstrahiranje podatkov na podlagi vzorcev, ki jih definirate. V tem razdelku si bomo ogledali, kako uporabiti Flash Fill za pridobivanje e-poštnih naslovov iz stolpca mešanih podatkov. Ta metoda je še posebej uporabna, ko imate opravka s seznami, ki vsebujejo različne vrste besedila in morate ekstrahirati samo e-poštne naslove.
- Kliknite na prvo celico v sosednjem stolpcu (npr. B2), kjer želite, da se prikažejo e-poštni naslovi.
- Ročno vnesite e-poštni naslov iz ustrezne vrstice v stolpcu A in pritisnite Vnesite. Na primer, če A2 vsebuje "ana varela@gmail.com," tip " ana varela@gmail.com " v B2.
- Ostanite v celici B3, pritisnite Ctrl + E to aktivirati Flash Fill. Excel bo samodejno zapolnil preostali del stolpca B z ekstrahiranimi e-poštnimi naslovi.
- Flash Fill je na voljo v Excelu 2013 in novejših različicah. Če uporabljate Excel 2010 ali starejšo različico, ta funkcija morda ne bo na voljo.
- Prepričajte se, da so celice, v katerih uporabljate Flash Fill, oblikovane kot »Besedilo«, da se izognete neželenim težavam z oblikovanjem.
En klik za paketno ekstrahiranje e-poštnega naslova iz besedilnega niza s programom Kutools
Ko gre za pridobivanje e-poštnih naslovov iz nabora podatkov, Kutools za ExcelJe Izvleček e-poštnega naslova ponuja zmogljivo alternativo Excelovemu Flash Fillu. Medtem ko Flash Fill zagotavlja ročni pristop k prepoznavanju vzorcev, Kutools za Excel avtomatizira postopek s samo enim klikom, zaradi česar je idealen za učinkovito obdelavo velikih količin podatkov. To orodje ne le poenostavlja postopek ekstrakcije, temveč zagotavlja tudi natančnost in hitrost, zlasti pri delu s kompleksnimi ali nedoslednimi nabori podatkov.
Po prenosu in namestitvi Kutools za Excel, naredite naslednje:
- Izberite obseg celic, iz katerih želite ekstrahirati e-poštne naslove. Nato pojdite na izbiro Kutools > Besedilo > Izvleček e-poštnega naslova
- V pojavnem oknu Izvleček e-poštnega naslova pogovornem oknu izberite celico za izpis e-poštnega naslova in kliknite OK
Rezultat
Nato se takoj ekstrahirajo vsi e-poštni naslovi v vsaki celici izbranega obsega.
Izvlecite e-poštni naslov iz besedilnega niza s formulo
Tukaj vam predstavljam dolgo formulo za izločanje samo e-poštnih naslovov iz besedila v Excelu. Naredite naslednje:
1. V sosednjo celico B1 vnesite to formulo = TRIM (DESNO (NAMESTA (LEVO (A1, FIND (", A1 &" ", FIND (" @ ", A1)) - 1)," ", REPT (" ", LEN (A1))), LEN ( A1))).
2. Nato pritisnite Vnesite tipko, nato izberite celico B1 in povlecite ročico za polnjenje do obsega, v katerega želite vsebovati to formulo. In e-poštni naslovi v obsegu so bili povzeti iz besedilnega niza. Oglejte si posnetek zaslona:
Opombe:
1. Ločila za e-poštnim naslovom bodo tudi odstranjena.
2. Če celice ne vsebujejo e-poštnih naslovov, bo formula prikazala vrednosti napak.
3. Če je v celici več e-poštnih naslovov, bo formula izvlekla samo prvi naslov.
Izvlecite e-poštni naslov iz besedilnega niza z uporabniško določeno funkcijo
Razen zgornje formule vam lahko uporabniško določena funkcija pomaga pri pridobivanju e-poštnega naslova iz besedilnega niza.
1. Držite tipko ALT + F11 in odpre tipko Microsoft Visual Basic za aplikacije okno.
2. Kliknite Vstavi > Moduliin prilepite naslednji makro v okno modula.
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. Nato shranite kodo in vnesite formulo = ExtractEmailFun (A1) v sosednji prazni celici si oglejte posnetek zaslona:
4. In nato pritisnite Vnesite tipko, izberite celico B1 in povlecite ročico za polnjenje do obsega, ki ga potrebujete za formulo. Vsi e-poštni naslovi so bili povzeti iz besedila celice. Oglejte si posnetek zaslona:
Opombe:
1. Če celice nimajo e-poštnih naslovov, bodo razkrite prazne celice.
2. Če je v celici več e-poštnih naslovov, bodo vsa e-poštna sporočila ekstrahirana.
Izvlecite e-poštni naslov iz besedilnega niza s kodo VBA
Če menite, da so zgornje formule za vas težavne, vam lahko naslednja koda VBA pomaga izločiti e-poštne naslove naenkrat.
1. Držite tipko ALT + F11 tipke in odpre se a Microsoft Visual Basic za aplikacije okno.
2. Kliknite Vstavi > Moduliin v mapo prilepite naslednji makro Okno modula.
VBA: izvleči e-poštne naslove iz besedilnega niza
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. Nato pritisnite F5 tipko za zagon te kode in v izpuščenem pogovornem oknu izberite obseg, za katerega želite uporabiti VBA, glejte posnetek zaslona:
4. Nato kliknite OK, in e-poštni naslovi so bili izvlečeni iz izbranih besedilnih nizov. Oglejte si posnetke zaslona:
Opombe:
1. Če celice nimajo e-poštnih naslovov, bodo razkrite prazne celice.
2. Vsa e-poštna sporočila bodo ekstrahirana, če je v celici več e-poštnih naslovov.
3. Izvlečena e-poštna sporočila bodo zajemala prvotne podatke, zato raje najprej varnostno kopirajte podatke, če jih potrebujete.
Predstavitev: izvlecite e-poštni naslov iz besedilnega niza s programom Kutools za Excel
Povezani članek:
Kako izvleči domene iz več e-poštnih naslovov v Excelu?
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!