ไปยังเนื้อหาหลัก

วิธีแยกที่อยู่อีเมลจากสตริงข้อความอย่างรวดเร็ว?

เมื่อคุณนำเข้าที่อยู่อีเมลบางส่วนจากเว็บไซต์ไปยังแผ่นงาน Excel มักจะมีข้อความที่ไม่เกี่ยวข้อง แต่ตอนนี้คุณแค่ต้องการแยกที่อยู่อีเมลที่บริสุทธิ์ออกจากสตริงข้อความ (ดูภาพหน้าจอต่อไปนี้) คุณจะรับเฉพาะที่อยู่อีเมลจากข้อความเซลล์ได้อย่างไร?

doc-extract-อีเมล 1 -2 doc-extract-อีเมล 2

แยกที่อยู่อีเมลจากสตริงข้อความด้วยสูตร

แยกที่อยู่อีเมลจากสตริงข้อความด้วย User Defined Function

แยกที่อยู่อีเมลจากสตริงข้อความด้วยรหัส VBA

แยกที่อยู่อีเมลจากสตริงข้อความด้วย Kutools for Excel


ลูกศรสีฟ้าฟองขวา แยกที่อยู่อีเมลจากสตริงข้อความด้วยสูตร

ที่นี่ฉันแนะนำคุณเป็นสูตรยาวในการแยกเฉพาะที่อยู่อีเมลจากข้อความใน Excel กรุณาดำเนินการดังนี้:

1. ในเซลล์ B1 ที่อยู่ติดกันให้ป้อนสูตรนี้ = TRIM (ขวา (แทนที่ (ซ้าย (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).

doc-extract-อีเมล 3

2. จากนั้นกด เข้าสู่ จากนั้นเลือกเซลล์ B1 แล้วลากจุดจับเติมไปยังช่วงที่คุณต้องการให้มีสูตรนี้ และที่อยู่อีเมลในช่วงถูกแยกออกจากสตริงข้อความ ดูภาพหน้าจอ:

doc-extract-อีเมล 4

หมายเหตุ:

1. เครื่องหมายวรรคตอนหลังที่อยู่อีเมลจะถูกดึงออกมาด้วย

2. ถ้าเซลล์ไม่มีที่อยู่อีเมลสูตรจะแสดงค่าผิดพลาด

3. หากมีที่อยู่อีเมลมากกว่าหนึ่งรายการในเซลล์สูตรจะแยกเฉพาะที่อยู่แรกเท่านั้น


แยกที่อยู่อีเมลหลายรายการจากสตริงข้อความ

Kutools สำหรับ Excel's แยกที่อยู่อีเมล สามารถช่วยให้คุณแยกที่อยู่อีเมลจากสตริงข้อความได้อย่างรวดเร็วและสะดวก คลิกเพื่อดาวน์โหลด Kutools for Excel!

doc แยกอีเมล -1

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!


ลูกศรสีฟ้าฟองขวา แยกที่อยู่อีเมลจากสตริงข้อความด้วย User Defined Function

นอกจากสูตรข้างต้นแล้ว User Defined Function ยังช่วยให้คุณได้รับที่อยู่อีเมลจากสตริงข้อความ

1. กด ALT + F11 และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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) ในเซลล์ว่างที่อยู่ติดกันดูภาพหน้าจอ:

doc-extract-อีเมล 5

4. จากนั้นกด เข้าสู่ เลือกเซลล์ B1 แล้วลากจุดจับเติมไปยังช่วงที่คุณต้องการสูตร และที่อยู่อีเมลทั้งหมดถูกแยกออกจากข้อความในเซลล์ ดูภาพหน้าจอ:

doc-extract-อีเมล 6

หมายเหตุ:

1. หากเซลล์ไม่มีที่อยู่อีเมลเซลล์จะเปิดเผยเซลล์ว่าง

2. หากมีที่อยู่อีเมลมากกว่าหนึ่งรายการในเซลล์อีเมลทั้งหมดจะถูกแยกออก


ลูกศรสีฟ้าฟองขวา แยกที่อยู่อีเมลจากสตริงข้อความด้วยรหัส VBA

หากคุณรู้สึกว่าสูตรข้างต้นเป็นปัญหาสำหรับคุณรหัส VBA ต่อไปนี้สามารถช่วยคุณแยกที่อยู่อีเมลออกได้ในที่เดียว

1. กด ALT + F11 และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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 ในกล่องโต้ตอบที่โผล่ออกมาดูภาพหน้าจอ:

doc-extract-อีเมล 7

4. จากนั้นคลิก OKและที่อยู่อีเมลถูกแยกออกจากสตริงข้อความที่เลือก ดูภาพหน้าจอ:

doc-extract-อีเมล 8 -2 doc-extract-อีเมล 9

หมายเหตุ:

1. หากเซลล์ไม่มีที่อยู่อีเมลเซลล์จะเปิดเผยเซลล์ว่าง

2. อีเมลทั้งหมดจะถูกแยกออกหากมีที่อยู่อีเมลมากกว่าหนึ่งรายการในเซลล์

3. อีเมลที่แยกออกมาจะครอบคลุมข้อมูลเดิมดังนั้นคุณควรสำรองข้อมูลก่อนหากคุณต้องการ


ลูกศรสีฟ้าฟองขวา แยกที่อยู่อีเมลจากสตริงข้อความด้วย Kutools for Excel โดยคลิกเพียงครั้งเดียว

วิธีการข้างต้นดูค่อนข้างซับซ้อนสำหรับผู้เริ่มต้นใช้งาน Excel ของเราที่นี่ฉันขอแนะนำเครื่องมือที่ง่ายและรวดเร็ว - Kutools สำหรับ Excelเดียวกันกับที่ แยกที่อยู่อีเมล ยูทิลิตี้คุณสามารถแยกที่อยู่อีเมลจากสตริงข้อความโดยไม่ต้องใช้ความพยายามมากนัก

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน.

ถ้าคุณได้ติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้:

1. เลือกเซลล์ที่มีสตริงข้อความ

2. คลิก Kutools > ข้อความ > แยกที่อยู่อีเมลดูภาพหน้าจอ:

3. และ แยกที่อยู่อีเมล กล่องโต้ตอบจะปรากฏขึ้นเลือกเซลล์ที่คุณต้องการใส่ผลลัพธ์ดูภาพหน้าจอ:

doc-extract-อีเมล 9

4. จากนั้นคลิก OK ที่อยู่อีเมลทั้งหมดถูกแยกออกจากสตริงข้อความดูภาพหน้าจอ:

doc-extract-อีเมล 9

คลิกเพื่อดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


ลูกศรสีฟ้าฟองขวา สาธิต: แยกที่อยู่อีเมลจากสตริงข้อความด้วย Kutools for Excel

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

บทความที่เกี่ยวข้อง:

วิธีแยกโดเมนจากที่อยู่อีเมลหลายรายการใน Excel

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
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