Skip to main content

How to quickly extract email address from text string?

When you import some email addresses form Website to Excel worksheet, there always contains irrelevant text, but now you just want to extract the pure email addresses from the text string (see following screenshots). How could you quickly only get the email addresses from the cell text?

doc-extract-emails1 -2 doc-extract-emails2

Extract email address from text string with Formula

Extract email address from text string with User Defined Function

Extract email address from text string with VBA code

Extract email address from text string with Kutools for Excel


arrow blue right bubble Extract email address from text string with Formula

Here I introduce you a long formula to extract only the email addresses from the text in Excel. Please do as follows:

1. In the adjacent cell B1, enter this formula =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1))).

doc-extract-emails3

2. Then press Enter key, then select the cell B1, and drag the fill handle to the range that you want to contain this formula. And the email addresses in the range have been extracted from the text string. See screenshot:

doc-extract-emails4

Notes:

1. The punctuation after the email address also will be extracted.

2. If the cells don’t contain the email addresses, the formula will display error values.

3. If there are more than one email address in a cell, the formula will only extract the first address.


Extract Multiple Email Addresses from text strings

Kutools for Excel’s Extract Email Address can help you to extract the email addresses from the text strings quickly and conveniently. Click to download Kutools for Excel!

doc extract emails-1

Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Download and free trial Now!


arrow blue right bubble Extract email address from text string with User Defined Function

Except the above formula, a User Defined Function also can help you get the email address from the text string.

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following macro in the Module window.

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. Then save the code and enter the formula =ExtractEmailFun(A1) in an adjacent blank cell, see screenshot:

doc-extract-emails5

4. And then press Enter key, select the cell B1, and drag the fill handle over to the range that you need the formula. And all email addresses have been extracted from the cell text. See screenshot:

doc-extract-emails6

Notes:

1. If the cells don’t have the email addresses, it will reveal blank cells.

2. If there are more than one email address in a cell, all the emails will be extracted.


arrow blue right bubble Extract email address from text string with VBA code

If you feel above formulas are troublesome for you, the following VBA code can help you extract the email addresses at one.

1. Hold down the ALT + F11 keys, and it opens a Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following macro in the Module window.

VBA: extract email addresses from text string

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. Then Press F5 key to run this code, and you should select a range that you want to use the VBA in the popped out dialog, see screenshot:

doc-extract-emails7

4. Then click OK, and the email addresses have been extracted from the selected text strings. See screenshots:

doc-extract-emails8 -2 doc-extract-emails9

Notes:

1. If the cells haven’t the email addresses, it will reveal blank cells.

2. All the emails will be extracted, if there are more than one email addresses in a cell.

3. The extracted emails will cover the original data, so you'd better backup the data first if you need.


arrow blue right bubble Extract email address from text string with Kutools for Excel by one click

The above methods looks somewhat complicated for our Excel beginner, here, I can recommend you a quick and easy tool- Kutools for Excel, with its Extract Email Address utility, you can extract the email addresses from the text strings without much effort.

Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 30 days.

If you have installed Kutools for Excel, please do as follows:

1. Select the cells contain the text strings.

2. Click Kutools > Text > Extract Email Address, see screenshot:

3. And an Extract Email Address dialog box will pop out, select a cell where you want to put the result, see screenshot:

doc-extract-emails9

4. Then click OK button, all the email addresses have been extracted from the text strings, see screenshot:

doc-extract-emails9

Click to Download and free trial Kutools for Excel Now!


arrow blue right bubble Demo: Extract email address from text string with Kutools for Excel

Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Download and free trial Now!

Related article:

How to extract domains from multiple email addresses in Excel?

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...

Description


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Comments (40)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
You're a genius!!!
This comment was minimized by the moderator on the site
Really helpful to extract emails in a neat way, thank you!
This comment was minimized by the moderator on the site
Malheureusement la première formule donnée se met en erreur....
This comment was minimized by the moderator on the site
Thank you very much, spend only half hour looking for this and save me ten hours of work!
This comment was minimized by the moderator on the site
This is the most useful page I have ever found on Excel - thank you.
This comment was minimized by the moderator on the site
How do you extract multiple email addresses for one cell?
This comment was minimized by the moderator on the site
Hi, Donna,
The second and the third methods in this article can help you to extract multiple Email addresses from one cell, please try, thank you!
This comment was minimized by the moderator on the site
Quando extraído mais que um email usando a macro, como separa-los depois usando uma outra célula ? Ou é possível extrair já separando ?
This comment was minimized by the moderator on the site
Saved me hours of manual parsing. Thank you!
This comment was minimized by the moderator on the site
Thank you!
This comment was minimized by the moderator on the site
Hi. This is a great job! I am sure that hundreds of people learned new stuff because of it. But if you just want to extract email addresses, you can use extractemailaddress.com . It seemed simple and quick, and I hav pasted the result in my excel spreadsheet. great!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations