Hvordan du raskt trekke ut e-postadressen fra tekststreng?

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å