Làm thế nào để nhanh chóng trích xuất địa chỉ email từ chuỗi văn bản?
Khi bạn nhập một số địa chỉ email từ trang web sang trang tính Excel, luôn có văn bản không liên quan, nhưng bây giờ bạn chỉ muốn trích xuất địa chỉ email thuần túy từ chuỗi văn bản (xem ảnh chụp màn hình sau). Làm thế nào bạn có thể nhanh chóng chỉ lấy các địa chỉ email từ văn bản di động?
Trích xuất địa chỉ email từ chuỗi văn bản với Công thức
Ở đây tôi giới thiệu cho bạn một công thức dài để chỉ trích xuất địa chỉ email từ văn bản trong Excel. Vui lòng làm như sau:
1. Trong ô liền kề B1, nhập công thức này = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. Sau đó nhấn đăng ký hạng mục thi , sau đó chọn ô B1 và kéo chốt điền vào phạm vi mà bạn muốn chứa công thức này. Và các địa chỉ email trong phạm vi đã được trích xuất từ chuỗi văn bản. Xem ảnh chụp màn hình:
Ghi chú:
1. Dấu chấm câu sau địa chỉ email cũng sẽ được trích xuất.
2. Nếu các ô không chứa địa chỉ email, công thức sẽ hiển thị các giá trị lỗi.
3. Nếu có nhiều hơn một địa chỉ email trong một ô, công thức sẽ chỉ trích xuất địa chỉ đầu tiên.
Trích xuất nhiều địa chỉ email từ chuỗi văn bản
Kutools cho Excel'S Trích xuất địa chỉ email có thể giúp bạn trích xuất địa chỉ email từ chuỗi văn bản một cách nhanh chóng và thuận tiện. Nhấp để tải xuống Kutools cho Excel!
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!
Trích xuất địa chỉ email từ chuỗi văn bản với chức năng do người dùng xác định
Ngoại trừ công thức trên, một Hàm do Người dùng Xác định cũng có thể giúp bạn lấy địa chỉ email từ chuỗi văn bản.
1. Giữ ALT + F11 chìa khóa và nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán macro sau vào cửa sổ Mô-đun.
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. Sau đó lưu mã và nhập công thức = ExtractEmailFun (A1) trong một ô trống liền kề, xem ảnh chụp màn hình:
4. Và sau đó nhấn đăng ký hạng mục thi , chọn ô B1 và kéo chốt điền vào phạm vi mà bạn cần công thức. Và tất cả các địa chỉ email đã được trích xuất từ văn bản ô. Xem ảnh chụp màn hình:
Ghi chú:
1. Nếu các ô không có địa chỉ email, nó sẽ hiển thị các ô trống.
2. Nếu có nhiều hơn một địa chỉ email trong một ô, tất cả các email sẽ được trích xuất.
Trích xuất địa chỉ email từ chuỗi văn bản với mã VBA
Nếu bạn cảm thấy các công thức trên gây rắc rối cho mình, mã VBA sau có thể giúp bạn trích xuất các địa chỉ email tại một.
1. Giữ ALT + F11 chìa khóa, và nó mở ra một Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán macro sau vào Cửa sổ mô-đun.
VBA: trích xuất địa chỉ email từ chuỗi văn bản
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. Sau đó nhấn F5 để chạy mã này và bạn nên chọn một phạm vi mà bạn muốn sử dụng VBA trong hộp thoại bật ra, xem ảnh chụp màn hình:
4. Sau đó nhấn vào OKvà các địa chỉ email đã được trích xuất từ các chuỗi văn bản đã chọn. Xem ảnh chụp màn hình:
Ghi chú:
1. Nếu các ô không có địa chỉ email, nó sẽ hiển thị các ô trống.
2. Tất cả các email sẽ được trích xuất, nếu có nhiều hơn một địa chỉ email trong một ô.
3. Các email được trích xuất sẽ bao gồm dữ liệu gốc, vì vậy bạn nên sao lưu dữ liệu trước nếu cần.
Trích xuất địa chỉ email từ chuỗi văn bản với Kutools cho Excel bằng một cú nhấp chuột
Các phương pháp trên có vẻ hơi phức tạp đối với người mới bắt đầu học Excel của chúng tôi, ở đây, tôi có thể giới thiệu cho bạn một công cụ nhanh chóng và dễ dàng- Kutools cho Excel, Với khả Trích xuất địa chỉ email tiện ích, bạn có thể trích xuất địa chỉ email từ chuỗi văn bản mà không cần nỗ lực nhiều.
Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. |
Nếu bạn đã cài đặt Kutools cho Excel, vui lòng làm như sau:
1. Chọn các ô chứa các chuỗi văn bản.
2. Nhấp chuột Kutools > bản văn > Trích xuất địa chỉ email, xem ảnh chụp màn hình:
3. Và một Trích xuất địa chỉ email hộp thoại sẽ bật ra, chọn một ô mà bạn muốn đặt kết quả, xem ảnh chụp màn hình:
4. Sau đó nhấn vào OK , tất cả các địa chỉ email đã được trích xuất từ các chuỗi văn bản, xem ảnh chụp màn hình:
Nhấp để Tải xuống và dùng thử miễn phí Kutools cho Excel ngay!
Demo: Trích xuất địa chỉ email từ chuỗi văn bản với Kutools cho Excel
Bài viết liên quan:
Làm cách nào để trích xuất miền từ nhiều địa chỉ email trong Excel?
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!