跳到主要內容
 

從 Excel 中的文字字串快速提取電子郵件地址 - 完整指南

作者:小陽 最後修改時間:2024-07-22

在 Excel 中處理匯入的資料或混合文字字串時,您可能會發現自己需要快速且準確地提取電子郵件地址。無論您是使用與其他文字混合的電子郵件地址列表,還是需要從大型資料集中提取電子郵件,都有多種有效的方法可以完成這項工作。本指南將引導您了解從文字字串中提取電子郵件地址的各種技術,包括使用快速填充、Kutools for Excel、公式、使用者定義函數和 VBA 程式碼。根據您的需求和資料的複雜性,每種方法都有不同的優點。

從 Excel 中的 texe 字串提取電子郵件地址的螢幕截圖

使用快速填充從文字字串中提取電子郵件地址

Excel的 Flash填充 該功能提供了一種快速有效的方法來根據您定義的模式自動格式化或提取資料。在本部分中,我們將介紹如何使用快速填充從混合資料列中提取電子郵件地址。當處理包含各種類型文字的清單並且您只需要提取電子郵件地址時,此方法特別有用。

  1. 按一下相鄰列中的第一個儲存格(例如, B2) 您希望電子郵件地址出現的位置。
  2. 手動鍵入 A 列中對應行的電子郵件地址,然後按 Enter.
    例如,如果 A2 包含“安娜·瓦雷拉@gmail.com,“ 類型 ” 安娜·瓦雷拉@gmail.com ”進入B2。
    使用 Flash Fill 1 從 texe 字串中提取電子郵件地址的螢幕截圖
  3. 留在儲存格 B3 中,按 按Ctrl + 埃特Ø 激活 Flash填充.
    Excel 將自動使用擷取的電子郵件地址填入 B 列的其餘部分。
    使用 Flash Fill 3 從 texe 字串中提取電子郵件地址的螢幕截圖
筆記:
  • Flash填充 在 Excel 2013 及更高版本中可用。如果您使用的是 Excel 2010 或更早版本,此功能可能無法使用。
  • 確保套用快速填入的儲存格格式設定為“文字”,以避免不必要的格式問題。

一鍵點擊即可使用 Kutools 從文字字串中批次提取電子郵件地址

當涉及從資料集中提取電子郵件地址時, Excel的Kutools提取電子郵件地址 功能提供了 Excel 快速填充的強大替代方案。雖然快速填充提供了一種手動模式識別方法,但 Kutools for Excel 只需單擊即可自動執行該過程,使其成為高效處理大量資料的理想選擇。該工具不僅簡化了提取過程,還確保了準確性和速度,特別是在處理複雜或不一致的資料集時。

下載並安裝 Kutools for Excel 後,請執行以下操作:

  1. 選擇要從中提取電子郵件地址的儲存格範圍。然後去選擇 庫工具 > 文本 > 提取電子郵件地址
  2. 在彈出 提取電子郵件地址 在對話方塊中,選擇一個儲存格來輸出電子郵件地址,然後按一下 OK
    使用 kutools 從 texe 字串中提取電子郵件地址的螢幕截圖
結果

然後立即提取所選範圍的每個儲存格中的所有電子郵件地址。

使用 kutools 結果從 texe 字串中提取電子郵件地址的螢幕截圖
備註: 要使用此功能,您應該擁有 Excel的Kutools 安裝在您的計算機上。 去下載 Kutools for Excel 以獲得 30 天免費試用,無任何限制.

使用公式從文本字符串中提取電子郵件地址

在這裡,我向您介紹一個很長的公式,僅從Excel中的文本中提取電子郵件地址。 請執行以下操作:

1。 在相鄰的單元格B1中,輸入此公式 = TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND(“”,A1&“”,FIND(“ @”,A1))-1),“”,REPT(“”,LEN(A1)))),LEN( A1))).

文檔提取電子郵件3

2。 然後按 Enter 鍵,然後選擇單元格B1,然後將填充手柄拖到要包含此公式的範圍。 並且已從文本字符串中提取了該範圍內的電子郵件地址。 看截圖:

文檔提取電子郵件4

注意:

1.電子郵件地址後的標點符號也將被提取。

2.如果單元格中不包含電子郵件地址,則公式將顯示錯誤值。

3.如果一個單元格中有多個電子郵件地址,則該公式將僅提取第一個地址。


使用用戶定義的功能從文本字符串中提取電子郵件地址

除上述公式外,用戶定義函數還可以幫助您從文本字符串中獲取電子郵件地址。

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下宏粘貼到“模塊”窗口中。

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。 然後保存代碼並輸入公式 = ExtractEmailFun(A1) 在相鄰的空白單元格中,請參見屏幕截圖:

文檔提取電子郵件5

4。 然後按 Enter 鍵,選擇單元格B1,然後將填充手柄拖到所需公式的範圍內。 並且所有電子郵件地址均已從單元格文本中提取。 看截圖:

文檔提取電子郵件6

注意:

1.如果單元格沒有電子郵件地址,它將顯示空白單元格。

2.如果一個單元中有多個電子郵件地址,則將提取所有電子郵件。


使用VBA代碼從文本字符串中提取電子郵件地址

如果您認為上述公式對您來說很麻煩,則以下VBA代碼可以幫助您一次提取電子郵件地址。

1。 按住 ALT + F11 鍵,它會打開一個 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下宏粘貼到 模塊窗口.

VBA:從文本字符串中提取電子郵件地址

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。 然後按 F5 鍵來運行此代碼,您應該在彈出的對話框中選擇要使用VBA的範圍,請參見屏幕截圖:

文檔提取電子郵件7

4。 然後點擊 OK,並且已從所選文本字符串中提取電子郵件地址。 查看屏幕截圖:

文檔提取電子郵件8 -2 文檔提取電子郵件9

注意:

1.如果單元格沒有電子郵件地址,它將顯示空白單元格。

2.如果一個單元中有多個電子郵件地址,則將提取所有電子郵件。

3.提取的電子郵件將覆蓋原始數據,因此,如果需要,最好先備份數據。


箭頭藍色右氣泡 演示:使用Kutools for Excel從文本字符串中提取電子郵件地址

Excel的Kutools:具有300多個方便的Excel加載項,可以在30天內免費試用,沒有任何限制。 立即下載並免費試用!

相關文章:

如何從Excel中的多個電子郵件地址中提取域?

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  會員專區 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!