Cum se extrage rapid adresa de e-mail din șirul de text?
Când importați unele adrese de e-mail din site-ul web în foaia de lucru Excel, conține întotdeauna text irelevant, dar acum doriți doar să extrageți adresele de e-mail pure din șirul de text (consultați următoarele capturi de ecran). Cum ați putea obține rapid doar adresele de e-mail din textul celulei?
Extrageți adresa de e-mail din șirul de text cu Formula
Aici vă prezint o formulă lungă pentru a extrage numai adresele de e-mail din text în Excel. Vă rugăm să faceți următoarele:
1. În celula adiacentă B1, introduceți această formulă = TRIM (DREAPTA (SUBSTITUT (STÂNGA (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. Apoi apăsați Intrați tasta, apoi selectați celula B1 și trageți mânerul de umplere în intervalul pe care doriți să îl conțineți această formulă. Și adresele de e-mail din interval au fost extrase din șirul de text. Vedeți captura de ecran:
note:
1. De asemenea, punctuația după adresa de e-mail va fi extrasă.
2. Dacă celulele nu conțin adresele de e-mail, formula va afișa valori de eroare.
3. Dacă există mai multe adrese de e-mail într-o celulă, formula va extrage doar prima adresă.
Extrageți mai multe adrese de e-mail din șiruri de text
Kutools pentru Excel'S Extrageți adresa de e-mail vă poate ajuta să extrageți rapid și convenabil adresele de e-mail din șirurile de text. Faceți clic pentru a descărca Kutools pentru Excel!
Kutools pentru Excel: cu mai mult de 300 de programe de completare Excel la îndemână, încercați fără limitări în 30 de zile. Descărcați și proba gratuită acum!
Extrageți adresa de e-mail din șirul de text cu funcția definită de utilizator
Cu excepția formulei de mai sus, o funcție definită de utilizator vă poate ajuta, de asemenea, să obțineți adresa de e-mail din șirul de text.
1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următoarea macro în fereastra Module.
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. Apoi salvați codul și introduceți formula = ExtractEmailFun (A1) într-o celulă necompletată, vezi captura de ecran:
4. Și apoi apăsați Intrați tasta, selectați celula B1 și trageți mânerul de umplere peste intervalul de care aveți nevoie de formulă. Și toate adresele de e-mail au fost extrase din textul celulei. Vedeți captura de ecran:
note:
1. Dacă celulele nu au adresele de e-mail, va dezvălui celule goale.
2. Dacă există mai multe adrese de e-mail într-o celulă, toate e-mailurile vor fi extrase.
Extrageți adresa de e-mail din șirul de text cu codul VBA
Dacă simțiți că formulele de mai sus sunt supărătoare pentru dvs., următorul cod VBA vă poate ajuta să extrageți adresele de e-mail la una.
1. Țineți apăsat butonul ALT + F11 tastele și deschide un Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următoarea macro în fișierul Fereastra modulului.
VBA: extrageți adresele de e-mail din șirul de text
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. Apoi apăsați F5 tasta pentru a rula acest cod și ar trebui să selectați un interval pe care doriți să îl utilizați VBA în dialogul pop-out, consultați captura de ecran:
4. Apoi apasa OK, iar adresele de e-mail au fost extrase din șirurile de text selectate. Vedeți capturi de ecran:
note:
1. Dacă celulele nu au adresele de e-mail, acesta va dezvălui celule goale.
2. Toate e-mailurile vor fi extrase, dacă există mai multe adrese de e-mail într-o celulă.
3. E-mailurile extrase vor acoperi datele originale, deci ar trebui să faceți mai întâi copii de siguranță ale datelor, dacă aveți nevoie.
Extrageți adresa de e-mail din șirul de text cu Kutools pentru Excel cu un singur clic
Metodele de mai sus arată oarecum complicate pentru începătorul nostru Excel, aici vă pot recomanda un instrument rapid și ușor - Kutools pentru Excel, Cu său Extrageți adresa de e-mail utilitar, puteți extrage adresele de e-mail din șirurile de text fără prea mult efort.
Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile. |
Dacă ați instalat Kutools pentru Excel, vă rugăm să faceți următoarele:
1. Selectați celulele care conțin șiruri de text.
2. Clic Kutools > Text > Extrageți adresa de e-mail, vezi captura de ecran:
3. Si un Extrageți adresa de e-mail caseta de dialog va apărea, selectați o celulă în care doriți să puneți rezultatul, vedeți captura de ecran:
4. Apoi apasa OK buton, toate adresele de e-mail au fost extrase din șirurile de text, vezi captura de ecran:
Faceți clic pentru a descărca și proba gratuită Kutools pentru Excel acum!
Demo: extrageți adresa de e-mail din șirul de text cu Kutools pentru Excel
Articol asociat:
Cum se extrag domenii din mai multe adrese de e-mail în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!