แยกที่อยู่อีเมลออกจากสตริงข้อความใน Excel อย่างรวดเร็ว - คู่มือฉบับเต็ม
เมื่อต้องจัดการกับข้อมูลที่นำเข้าหรือสตริงข้อความแบบผสมใน Excel คุณอาจพบว่าตัวเองจำเป็นต้องแยกที่อยู่อีเมลอย่างรวดเร็วและแม่นยำ ไม่ว่าคุณจะทำงานกับรายการที่อยู่อีเมลผสมกับข้อความอื่นหรือต้องการดึงอีเมลจากชุดข้อมูลขนาดใหญ่ มีวิธีการที่มีประสิทธิภาพหลายวิธีในการทำงานให้สำเร็จ คู่มือนี้จะแนะนำคุณเกี่ยวกับเทคนิคต่างๆ เพื่อดึงที่อยู่อีเมลออกจากสตริงข้อความ รวมถึงการใช้ Flash Fill, Kutools สำหรับ Excel, สูตร, ฟังก์ชันที่ผู้ใช้กำหนด และโค้ด VBA แต่ละวิธีมีข้อดีที่แตกต่างกันไป ขึ้นอยู่กับความต้องการและความซับซ้อนของข้อมูลของคุณ
แยกที่อยู่อีเมลออกจากสตริงข้อความด้วยการเติมแบบรวดเร็ว
เอ็กเซล เติม Flash คุณลักษณะนี้มอบวิธีที่รวดเร็วและมีประสิทธิภาพในการจัดรูปแบบหรือแยกข้อมูลโดยอัตโนมัติตามรูปแบบที่คุณกำหนด ในส่วนนี้ เราจะอธิบายวิธีใช้การเติมแบบรวดเร็วเพื่อแยกที่อยู่อีเมลออกจากคอลัมน์ข้อมูลที่ผสมกัน วิธีนี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับรายการที่มีข้อความประเภทต่างๆ และคุณเพียงแค่ต้องแยกที่อยู่อีเมลเท่านั้น
- คลิกที่เซลล์แรกในคอลัมน์ที่อยู่ติดกัน (เช่น B2) ที่คุณต้องการให้ที่อยู่อีเมลปรากฏ
- พิมพ์ที่อยู่อีเมลจากแถวที่เกี่ยวข้องในคอลัมน์ A ด้วยตนเอง จากนั้นกด เข้าสู่. เช่น ถ้า A2 มี "อานา varela@gmail.com," พิมพ์ " อานา varela@gmail.com " ลงใน B2
- อยู่ในเซลล์ B3 กด Ctrl + E เพื่อเปิดใช้งาน เติม Flash. Excel จะเติมที่อยู่อีเมลที่แยกออกมาลงในส่วนที่เหลือของคอลัมน์ B โดยอัตโนมัติ
- เติม Flash มีอยู่ใน Excel 2013 และเวอร์ชันที่ใหม่กว่า หากคุณใช้ Excel 2010 หรือเวอร์ชันก่อนหน้า ฟีเจอร์นี้อาจไม่พร้อมใช้งาน
- ตรวจสอบให้แน่ใจว่าเซลล์ที่คุณใช้การเติมแบบรวดเร็วมีการจัดรูปแบบเป็น 'ข้อความ' เพื่อหลีกเลี่ยงปัญหาการจัดรูปแบบที่ไม่พึงประสงค์
คลิกเพียงครั้งเดียวเพื่อแยกที่อยู่อีเมลออกจากสตริงข้อความด้วย Kutools
เมื่อพูดถึงการแยกที่อยู่อีเมลออกจากชุดข้อมูล Kutools สำหรับ Excel's แยกที่อยู่อีเมล คุณลักษณะนี้เสนอทางเลือกที่มีประสิทธิภาพแทน Flash Fill ของ Excel ในขณะที่ Flash Fill มอบวิธีการจดจำรูปแบบด้วยตนเอง แต่ Kutools สำหรับ Excel จะทำให้กระบวนการเป็นอัตโนมัติด้วยการคลิกเพียงครั้งเดียว ทำให้เหมาะสำหรับการจัดการข้อมูลปริมาณมากอย่างมีประสิทธิภาพ เครื่องมือนี้ไม่เพียงแต่ทำให้กระบวนการแยกข้อมูลง่ายขึ้น แต่ยังรับประกันความแม่นยำและความรวดเร็ว โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับชุดข้อมูลที่ซับซ้อนหรือไม่สอดคล้องกัน
หลังจากดาวน์โหลดและติดตั้ง Kutools for Excelโปรดดำเนินการดังนี้:
- เลือกช่วงของเซลล์ที่คุณต้องการแยกที่อยู่อีเมล แล้วไปเลือก Kutools > ข้อความ > แยกที่อยู่อีเมล
- ในการโผล่ขึ้นมา แยกที่อยู่อีเมล กล่องโต้ตอบ เลือกเซลล์ที่จะส่งออกที่อยู่อีเมลแล้วคลิก OK
ผล
จากนั้นที่อยู่อีเมลทั้งหมดในแต่ละเซลล์ของช่วงที่เลือกจะถูกแยกออกทันที
Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ AI ฟรีถาวร! Get It Now
แยกที่อยู่อีเมลจากสตริงข้อความด้วยสูตร
ที่นี่ฉันแนะนำคุณเป็นสูตรยาวในการแยกเฉพาะที่อยู่อีเมลจากข้อความใน Excel กรุณาดำเนินการดังนี้:
1. ในเซลล์ B1 ที่อยู่ติดกันให้ป้อนสูตรนี้ = TRIM (ขวา (แทนที่ (ซ้าย (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. จากนั้นกด เข้าสู่ จากนั้นเลือกเซลล์ B1 แล้วลากจุดจับเติมไปยังช่วงที่คุณต้องการให้มีสูตรนี้ และที่อยู่อีเมลในช่วงถูกแยกออกจากสตริงข้อความ ดูภาพหน้าจอ:
หมายเหตุ:
1. เครื่องหมายวรรคตอนหลังที่อยู่อีเมลจะถูกดึงออกมาด้วย
2. ถ้าเซลล์ไม่มีที่อยู่อีเมลสูตรจะแสดงค่าผิดพลาด
3. หากมีที่อยู่อีเมลมากกว่าหนึ่งรายการในเซลล์สูตรจะแยกเฉพาะที่อยู่แรกเท่านั้น
แยกที่อยู่อีเมลจากสตริงข้อความด้วย 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) ในเซลล์ว่างที่อยู่ติดกันดูภาพหน้าจอ:
4. จากนั้นกด เข้าสู่ เลือกเซลล์ B1 แล้วลากจุดจับเติมไปยังช่วงที่คุณต้องการสูตร และที่อยู่อีเมลทั้งหมดถูกแยกออกจากข้อความในเซลล์ ดูภาพหน้าจอ:
หมายเหตุ:
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 ในกล่องโต้ตอบที่โผล่ออกมาดูภาพหน้าจอ:
4. จากนั้นคลิก OKและที่อยู่อีเมลถูกแยกออกจากสตริงข้อความที่เลือก ดูภาพหน้าจอ:
หมายเหตุ:
1. หากเซลล์ไม่มีที่อยู่อีเมลเซลล์จะเปิดเผยเซลล์ว่าง
2. อีเมลทั้งหมดจะถูกแยกออกหากมีที่อยู่อีเมลมากกว่าหนึ่งรายการในเซลล์
3. อีเมลที่แยกออกมาจะเขียนทับข้อมูลเดิม ดังนั้นขอแนะนำให้สำรองข้อมูลของคุณก่อน
สาธิต: แยกที่อยู่อีเมลจากสตริงข้อความด้วย Kutools for Excel
บทความที่เกี่ยวข้อง:
วิธีแยกโดเมนจากที่อยู่อีเมลหลายรายการใน Excel
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!