Kako hitro izvleči e-poštni naslov iz besedilnega niza?
Ko uvozite nekaj e-poštnih naslovov s spletnega mesta na Excelov delovni list, vedno vsebuje neustrezno besedilo, zdaj pa želite samo izvleči čiste e-poštne naslove iz besedilnega niza (glejte naslednje posnetke zaslona). Kako lahko hitro dobite samo e-poštne naslove iz besedila celice?
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 več e-poštnih naslovov iz besedilnih nizov
Kutools za ExcelJe Izvleček e-poštnega naslova vam lahko pomaga hitro in priročno izvleči e-poštne naslove iz besedilnih nizov. Kliknite za prenos Kutools za Excel!
Kutools za Excel: z več kot 300 priročnimi dodatki za Excel, brezplačno preizkusite brez omejitev v 30 dneh. Prenesite in brezplačno preskusite zdaj!
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.
Z enim klikom izvlecite e-poštni naslov iz besedilnega niza s programom Kutools for Excel
Zgornje metode so za naše začetnike v Excelu videti nekoliko zapletene, tukaj vam lahko priporočam hitro in enostavno orodje - Kutools za Excel, Z njegovim Izvleček e-poštnega naslova Pripomoček lahko e-poštne naslove izvlečete iz besedilnih nizov brez veliko truda.
Kutools za Excel : z več kot 300 priročnimi dodatki za Excel, ki jih lahko brezplačno preizkusite v 30 dneh. |
Če ste namestili Kutools za Excel, naredite naslednje:
1. Izberite celice, ki vsebujejo besedilne nize.
2. Kliknite Kutools > Besedilo > Izvleček e-poštnega naslova, glej posnetek zaslona:
3. In Izvleček e-poštnega naslova odpre se pogovorno okno, izberite celico, v katero želite dati rezultat, glejte posnetek zaslona:
4. Nato kliknite OK , so vsi e-poštni naslovi izvlečeni iz besedilnih nizov, glejte posnetek zaslona:
Kliknite za prenos in brezplačno preskusno različico Kutools za Excel zdaj!
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!