Быстрое извлечение адреса электронной почты из текстовой строки в Excel — полное руководство
При работе с импортированными данными или смешанными текстовыми строками в Excel вам может потребоваться быстро и точно извлечь адреса электронной почты. Независимо от того, работаете ли вы со списком адресов электронной почты, смешанным с другим текстом, или вам нужно извлечь электронные письма из большого набора данных, существует несколько эффективных методов выполнения этой работы. В этом руководстве вы познакомитесь с различными методами извлечения адресов электронной почты из текстовых строк, в том числе с использованием Flash Fill, Kutools for Excel, формул, пользовательских функций и кода VBA. Каждый метод предлагает различные преимущества в зависимости от ваших потребностей и сложности данных.
Извлечь адрес электронной почты из текстовой строки с помощью Flash Fill
Excel Вспышка заливки Функция обеспечивает быстрый и эффективный способ автоматического форматирования или извлечения данных на основе заданных вами шаблонов. В этом разделе мы рассмотрим, как использовать Flash Fill для извлечения адресов электронной почты из столбца смешанных данных. Этот метод особенно полезен при работе со списками, содержащими различные типы текста, и вам нужно только извлечь адреса электронной почты.
- Нажмите на первую ячейку в соседнем столбце (например, B2), где вы хотите, чтобы отображались адреса электронной почты.
- Вручную введите адрес электронной почты из соответствующей строки в столбце A, а затем нажмите Enter. Например, если A2 содержит "ана варела@gmail.com," тип " ана варела@gmail.com " в Б2.
- Оставайтесь в ячейке B3, нажмите Ctrl + Э тo активировать Вспышка заливки. Excel автоматически заполнит остальную часть столбца B извлеченными адресами электронной почты.
- Вспышка заливки доступен в Excel 2013 и более поздних версиях. Если вы используете Excel 2010 или более раннюю версию, эта функция может быть недоступна.
- Убедитесь, что ячейки, к которым вы применяете быструю заливку, отформатированы как «Текст», чтобы избежать нежелательных проблем с форматированием.
Один клик для пакетного извлечения адреса электронной почты из текстовой строки с помощью Kutools
Когда дело доходит до извлечения адресов электронной почты из набора данных, Kutools for ExcelАвтора Извлечь адрес электронной почты Эта функция предлагает мощную альтернативу Flash Fill в Excel. В то время как Flash Fill обеспечивает ручной подход к распознаванию образов, Kutools for Excel автоматизирует процесс одним щелчком мыши, что делает его идеальным для эффективной обработки больших объемов данных. Этот инструмент не только упрощает процесс извлечения, но также обеспечивает точность и скорость, особенно при работе со сложными или противоречивыми наборами данных.
После загрузки и установки Kutools для Excel, пожалуйста, сделайте следующее:
- Выберите диапазон ячеек, из которого вы хотите извлечь адреса электронной почты. Затем перейдите к выбору Кутулс > Текст > Извлечь адрес электронной почты
- В всплывающем Извлечь адрес электронной почты диалоговом окне выберите ячейку для вывода адреса электронной почты и нажмите OK
Результат
Затем сразу извлекаются все адреса электронной почты в каждой ячейке выбранного диапазона.
Извлечь адрес электронной почты из текстовой строки с помощью формулы
Здесь я представляю вам длинную формулу для извлечения только адресов электронной почты из текста в Excel. Пожалуйста, сделайте следующее:
1. В соседней ячейке B1 введите эту формулу = ОБРЕЗАТЬ (ВПРАВО (ПОДСТАВИТЬ (ЛЕВО (A1, НАЙТИ ("", A1 & "", НАЙТИ ("@", A1)) - 1), "", ПОВТОР ("", LEN (A1))), LEN ( А1))).
2, Затем нажмите Enter , затем выберите ячейку B1 и перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу. И адреса электронной почты в диапазоне были извлечены из текстовой строки. Смотрите скриншот:
Ноты:
1. Знаки препинания после адреса электронной почты также будут извлечены.
2. Если ячейки не содержат адресов электронной почты, в формуле будут отображаться значения ошибок.
3. Если в ячейке несколько адресов электронной почты, формула извлечет только первый адрес.
Извлечь адрес электронной почты из текстовой строки с помощью функции, определяемой пользователем
За исключением приведенной выше формулы, функция, определяемая пользователем, также может помочь вам получить адрес электронной почты из текстовой строки.
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, Затем нажмите Enter , выберите ячейку 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 for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!