Як швидко витягти електронну адресу з текстового рядка?
Коли ви імпортуєте деякі електронні адреси з веб-сайту на робочий аркуш Excel, там завжди міститься нерелевантний текст, але тепер ви просто хочете витягти чисті електронні адреси з текстового рядка (див. Наступні знімки екрана). Як ви могли швидко отримати адреси електронної пошти лише з тексту комірки?
Витяг електронної адреси з текстового рядка за допомогою Формули
Тут я представляю вам довгу формулу для вилучення лише електронних адрес із тексту в Excel. Будь ласка, виконайте наступне:
1. В сусідню комірку B1 введіть цю формулу = TRIM (ПРАВО (ЗАМІСТ (ЗАМІСТ (ЗЛІВО (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT (", LEN (A1))), LEN ( А1))).
2. Потім натисніть Що натомість? Створіть віртуальну версію себе у клавішу, потім виберіть клітинку B1 і перетягніть маркер заповнення до діапазону, який ви хочете містити у цій формулі. І адреси електронної пошти в діапазоні були вилучені з текстового рядка. Дивіться знімок екрана:
Примітки:
1. Розділові знаки після адреси електронної пошти також будуть вилучені.
2. Якщо комірки не містять електронних адрес, формула відображатиме значення помилок.
3. Якщо в комірці є більше однієї адреси електронної пошти, формула витягне лише першу адресу.
Витягніть кілька текстових адрес із текстових рядків
Kutools для ExcelАвтора Витяг електронної адреси може допомогти вам швидко та зручно витягувати адреси електронної пошти з текстових рядків. Клацніть, щоб завантажити Kutools для Excel!
Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!
Витяг електронної адреси з текстового рядка за допомогою визначеної користувачем функції
Окрім наведеної вище формули, визначена користувачем функція також може допомогти вам отримати електронну адресу з текстового рядка.
1. Утримуйте клавішу ALT + F11 і відкриває Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний макрос у вікно Модуль.
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 клавіші, і відкриється a Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний макрос у Вікно модуля.
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 для Excel одним клацанням миші
Вищезазначені методи виглядають дещо складними для нашого початківця Excel, тут я можу порадити вам швидкий та простий інструмент- Kutools для Excel, З його Витяг електронної адреси Утиліта, ви можете витягти адреси електронної пошти з текстових рядків без особливих зусиль.
Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів. |
Якщо ви встановили Kutools для Excel, будь ласка, виконайте наступне:
1. Виділіть комірки, що містять текстові рядки.
2. Клацання Кутулс > текст > Витяг електронної адреси, див. скріншот:
3. І ан Витяг електронної адреси відкриється діалогове вікно, виберіть комірку, куди ви хочете поставити результат, див. знімок екрана:
4. Потім натисніть OK , всі адреси електронної пошти витягнуті з текстових рядків, див. знімок екрана:
Натисніть, щоб завантажити та безкоштовну пробну версію Kutools для Excel зараз!
Демонстрація: видобуток адреси електронної пошти з текстового рядка за допомогою Kutools для Excel
Пов'язана стаття:
Як витягти домени з декількох адрес електронної пошти в Excel?
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!