Быстро извлекайте адреса электронной почты из текстовых строк в Excel - Полное руководство
При работе с импортированными данными или смешанными текстовыми строками в Excel вам может понадобиться быстро и точно извлечь адреса электронной почты. Будь то список адресов электронной почты, перемешанных с другим текстом, или необходимость выделить электронные письма из большого набора данных, существует несколько эффективных методов для выполнения этой задачи. Это руководство проведет вас через различные техники извлечения адресов электронной почты из текстовых строк, включая использование Flash Fill, Kutools для Excel, формул, пользовательских функций и кода VBA. Каждый метод предлагает разные преимущества в зависимости от ваших потребностей и сложности данных.

Извлечение адреса электронной почты из текстовой строки с помощью Flash Fill
Функция Flash Fill в Excel предоставляет быстрый и эффективный способ автоматического форматирования или извлечения данных на основе определяемых вами шаблонов. В этом разделе мы расскажем, как использовать Flash Fill для извлечения адресов электронной почты из столбца смешанных данных. Этот метод особенно полезен при работе со списками, содержащими различные типы текста, когда вам нужно извлечь только адреса электронной почты.
- Нажмите на первую ячейку в соседнем столбце (например, B2), куда вы хотите поместить адреса электронной почты.
- Вручную введите адрес электронной почты из соответствующей строки в столбце A, а затем нажмите Enter. Например, если A2 содержит "ana varela@gmail.com", введите " ana varela@gmail.com " в B2.
- Оставайтесь в ячейке B3, нажмите "Ctrl + E", чтобы активировать Flash Fill. Excel автоматически заполнит остальную часть столбца B извлеченными адресами электронной почты.
- Flash Fill доступен в Excel 2013 и более поздних версиях. Если вы используете Excel 2010 или более раннюю версию, эта функция может быть недоступна.
- Убедитесь, что ячейки, к которым применяется Flash Fill, отформатированы как 'Текст', чтобы избежать нежелательных проблем с форматированием.
Одно нажатие для пакетного извлечения адресов электронной почты из текстовой строки с помощью Kutools
Когда дело доходит до извлечения адресов электронной почты из набора данных, функция "Извлечь адреса электронной почты" в Kutools для Excel предлагает мощную альтернативу Flash Fill в Excel. В то время как Flash Fill обеспечивает ручной подход к распознаванию шаблонов, Kutools для Excel автоматизирует процесс одним щелчком мыши, что делает его идеальным для обработки больших объемов данных эффективно. Этот инструмент не только упрощает процесс извлечения, но и гарантирует точность и скорость, особенно при работе со сложными или несогласованными наборами данных.
После загрузки и установки Kutools для Excel сделайте следующее:
- Выберите диапазон ячеек, из которых вы хотите извлечь адреса электронной почты. Затем перейдите к выбору "Kutools" > "Текст" > "Извлечь адреса электронной почты".
- В появившемся диалоговом окне "Извлечь адреса электронной почты" выберите ячейку для вывода адреса электронной почты и нажмите OK.
Результат
Затем все адреса электронной почты в каждой ячейке выбранного диапазона будут немедленно извлечены.

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас
Извлечение адреса электронной почты из текстовой строки с помощью формулы
Здесь я представляю вам длинную формулу для извлечения только адресов электронной почты из текста в Excel. Пожалуйста, сделайте следующее:
1. В соседней ячейке B1 введите следующую формулу:
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1)))
2. Затем нажмите клавишу Enter, затем выберите ячейку B1 и протяните маркер заполнения до диапазона, который вы хотите охватить этой формулой. И адреса электронной почты в диапазоне будут извлечены из текстовой строки. См. скриншот:
Примечания:
1. Знаки препинания после адреса электронной почты также будут извлечены.
2. Если ячейки не содержат адресов электронной почты, формула покажет ошибочные значения.
3. Если в ячейке более одного адреса электронной почты, формула извлечет только первый адрес.
Извлечение адреса электронной почты из текстовой строки с помощью пользовательской функции
Помимо вышеупомянутой формулы, пользовательская функция также может помочь вам получить адрес электронной почты из текстовой строки.
1. Удерживайте клавиши "ALT + F11", и откроется окно "Microsoft Visual Basic for Applications".
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 for Applications".
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, чтобы запустить этот код, и вам следует выбрать диапазон, который вы хотите использовать в появившемся диалоговом окне, см. скриншот:
4. Затем нажмите OK, и адреса электронной почты будут извлечены из выбранных текстовых строк. См. скриншоты:
![]() | ![]() | ![]() |
Примечания:
1. Если ячейки не содержат адресов электронной почты, они покажут пустые ячейки.
2. Все электронные письма будут извлечены, если в ячейке более одного адреса электронной почты.
3. Извлеченные электронные письма перезапишут исходные данные, поэтому рекомендуется сначала сделать резервную копию ваших данных.
Демонстрация: Извлечение адреса электронной почты из текстовой строки с помощью Kutools для Excel
Связанная статья:
Как извлечь домены из нескольких адресов электронной почты в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!