Here jeg presentere deg en lang formel for å trekke ut bare de e-postadresser fra tekst i Excel. Gjør følgende: 
 1. I den tilstøtende celle B1, skriv denne formelen = TRIM (HØYRE (ERSTATNINGS (VENSTRE (A1, FINN ("", A1 & "", FINN ("@", A1)) - 1), "", GJENTA ("" , LEN (A1))), LEN (A1))). 
 to. Deretter trykker Enter-tasten, velg deretter celle B1, og drar fyllhåndtaket til området du vil inneholde denne formelen. Og e-postadresser i serien er hentet fra tekststreng. Se skjermbilde: 
 Merknader: 
 1. Tegnsetting etter e-postadressen også vil bli hentet. 
 2. Hvis cellene ikke inneholder e-postadresser, vil formelen vise feil verdier. 
 Tre. Hvis det er mer enn én e-postadresse i en celle, vil formelen bare trekke ut den første adressen. 
 
 Extract e-postadresse fra tekststreng med brukerdefinerte funksjonen 
 Bortsett formelen ovenfor, en brukerdefinert funksjon også kan hjelpe deg med å få e-postadresse fra tekststrengen. 
 1. Hold nede ALT + F11-tastene, og det åpner Microsoft Visual Basic for Applications vinduet. 
 2. Klikk Sett > Modul, og lim inn følgende makroen i modulen vinduet. 
 Funksjon ExtractEmailFun (extractStr As String) As String'Update 20130829Dim CharList Som StringOn Error Resume NextCheckStr = "[A-Za-Z0-9 ._-]" OutStr = "" Index = 1Do Mens Sann Indeks1 = VBA.InStr (Index, extractStr, "@") getStr = "" Hvis Indeks1 > 0 Then For p = Indeks1 - 1 til 1 trinn -1 Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = Mid (extractStr, p, 1) & getStr Else Exit For End If Neste getStr = getStr & "@" For p = Indeks1 + 1 Slik Len (extractStr) Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = getStr & Mid (extractStr, p, 1) Else Exit For End If Neste Indeks = Indeks1 + 1 Hvis OutStr = "" Så OutStr = getStr Else OutStr = OutStr & Chr (10) & getStr End If Else Exit Do End IfLoopExtractEmailFun = OutStrEnd Function3. Deretter lagre koden og skriver inn formelen = ExtractEmailFun (A1) i en tilstøtende tom celle, se skjermbilde: 
 4. Og trykk Enter-tasten, velg celle B1, og drar fyllhåndtaket over til området som du trenger formelen. Og alle e-postadressene er hentet fra cellen teksten. Se skjermbilde: 
 Merknader: 
 1. Hvis cellene ikke har e-postadresser, vil det avsløre tomme celler. 
 To. Hvis det er mer enn én e-postadresse i en celle, vil alle e-postene bli hentet. 
  Extract e-postadresse fra tekststreng med VBA-kode 
 hvis du føler formlene ovenfor er plagsom for deg, følgende VBA koden kan hjelpe deg med å pakke ut e-postadresser på ett. 
 1. Hold nede ALT + F11-tastene, og det åpner en Microsoft Visual Basic for Applications vinduet. 
 2. Klikk Sett > Modul, og lim inn følgende makroen i modulen vinduet 
 VBA. Extract e-postadresser fra tekststreng 
 Sub ExtractEmail () 'Update 20130829Dim WorkRng Som RangeDim arr Som VariantDim CharList Som StringOn Error Resume NextxTitleId = "KutoolsforExcel" Set WorkRng = Application.SelectionSet WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8) arr = WorkRng.ValueCheckStr = "[A-Za-Z0-9 ._-]" For i = 1 til UBound (arr, 1) For j = 1 til UBound (arr, 2) extractStr = arr (i, j) outStr = "" Index = 1 Do Mens Sann Indeks1 = VBA.InStr (Index, extractStr, "@") getStr = "" Hvis Indeks1 > 0 Then For p = Indeks1 - 1 til 1 trinn -1 Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = Mid (extractStr, p, 1) & getStr Else Exit For End If Neste getStr = getStr & "@" For p = Indeks1 + 1 Slik Len (extractStr) Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = getStr & Mid (extractStr, p, 1) Else Exit For End If Neste Indeks = Indeks1 + 1 Hvis outStr = "" Så outStr = getStr Else outStr = outStr & Chr (10) & getStr End If Else Exit Do End If Loop arr (i, j) = outStr NextNextWorkRng.Value = arrEnd Sub3. Deretter Trykk F5 for å kjøre denne koden, og du bør velge et område som du ønsker å bruke VBA i spratt ut dialogboksen, se skjermbilde: 
 4. Klikk deretter på OK, og e-postadressene er hentet fra de utvalgte tekststrenger. Se skjermbilder: 
 Merknader: 
 1. Hvis cellene har ikke e-postadresser, vil det avsløre tomme celler. 
 2. Alle e-poster vil bli trukket ut, hvis det er mer enn én e-postadresser i en celle 
 3.. De utpakkede e-post vil dekke de opprinnelige dataene, slik at du bedre backup dataene først hvis du trenger. 
  Extract e-postadresse fra tekststreng med Kutools for Excel ved ett klikk 
 de ovennevnte metodene ser litt komplisert for vår Excel nybegynner, her kan jeg anbefale deg en rask og enkel Verktøy- Kutools for Excel, med sin Extract e-postadresse verktøyet, kan du trekke ut e-postadresser fra tekststrenger uten store anstrengelser 
 Kutools for Excel. med mer enn 120 praktiske Excel-tillegg, gratis å prøve uten begrensning i 60 dager. Få det nå  . Gå til DownloadFree Trial 60 daysPurchasePayPal /MyCommerce Hvis du har installert Kutools for Excel, kan du gjøre som følger :( Gratis Last ned Kutools for Excel nå) 
 1. Velg cellene inneholder tekststrenger. 
 2. Klikk Kutools > Tekst > Utdrag e-postadresse, se skjermbilde: 
 tre. Og en Extract e-postadresse dialogboks vil komme fram, velger du en celle der du vil sette resultatet, se skjermbilde: 
 4. Klikk deretter på OK-knappen, alle e-postadressene er hentet fra tekststrenger, se skjermbilde: 
 Gratis Last ned Kutools for Excel Nå 
 
            
            
 
		  
hvis du føler formlene ovenfor er plagsom for deg, følgende VBA koden kan hjelpe deg med å pakke ut e-postadresser på ett.
1. Hold nede ALT + F11-tastene, og det åpner en Microsoft Visual Basic for Applications vinduet.
2. Klikk Sett > Modul, og lim inn følgende makroen i modulen vinduet
VBA. Extract e-postadresser fra tekststreng
Sub ExtractEmail () 'Update 20130829Dim WorkRng Som RangeDim arr Som VariantDim CharList Som StringOn Error Resume NextxTitleId = "KutoolsforExcel" Set WorkRng = Application.SelectionSet WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8) arr = WorkRng.ValueCheckStr = "[A-Za-Z0-9 ._-]" For i = 1 til UBound (arr, 1) For j = 1 til UBound (arr, 2) extractStr = arr (i, j) outStr = "" Index = 1 Do Mens Sann Indeks1 = VBA.InStr (Index, extractStr, "@") getStr = "" Hvis Indeks1 > 0 Then For p = Indeks1 - 1 til 1 trinn -1 Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = Mid (extractStr, p, 1) & getStr Else Exit For End If Neste getStr = getStr & "@" For p = Indeks1 + 1 Slik Len (extractStr) Hvis Mid (extractStr, p, 1) Liker CheckStr Så getStr = getStr & Mid (extractStr, p, 1) Else Exit For End If Neste Indeks = Indeks1 + 1 Hvis outStr = "" Så outStr = getStr Else outStr = outStr & Chr (10) & getStr End If Else Exit Do End If Loop arr (i, j) = outStr NextNextWorkRng.Value = arrEnd Sub3. Deretter Trykk F5 for å kjøre denne koden, og du bør velge et område som du ønsker å bruke VBA i spratt ut dialogboksen, se skjermbilde:
4. Klikk deretter på OK, og e-postadressene er hentet fra de utvalgte tekststrenger. Se skjermbilder:
Merknader:
1. Hvis cellene har ikke e-postadresser, vil det avsløre tomme celler.
2. Alle e-poster vil bli trukket ut, hvis det er mer enn én e-postadresser i en celle
3.. De utpakkede e-post vil dekke de opprinnelige dataene, slik at du bedre backup dataene først hvis du trenger.

