Перейти к содержимому

Быстро извлекайте адреса электронной почты из текстовых строк в Excel - Полное руководство

Author: Xiaoyang Last Modified: 2025-06-05

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

A screenshot of mixed text strings in Excel for extracting email addresses

Извлечение адреса электронной почты из текстовой строки с помощью Flash Fill

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

  1. Нажмите на первую ячейку в соседнем столбце (например, B2), куда вы хотите поместить адреса электронной почты.
  2. Вручную введите адрес электронной почты из соответствующей строки в столбце A, а затем нажмите Enter.
    Например, если A2 содержит "ana varela@gmail.com", введите " ana varela@gmail.com " в B2.
    A screenshot showing the manual entry of an email address in Excel before using Flash Fill
  3. Оставайтесь в ячейке B3, нажмите "Ctrl + E", чтобы активировать Flash Fill.
    Excel автоматически заполнит остальную часть столбца B извлеченными адресами электронной почты.
    A GIF of email addresses extracted using Flash Fill in Excel
Примечания:
  • Flash Fill доступен в Excel 2013 и более поздних версиях. Если вы используете Excel 2010 или более раннюю версию, эта функция может быть недоступна.
  • Убедитесь, что ячейки, к которым применяется Flash Fill, отформатированы как 'Текст', чтобы избежать нежелательных проблем с форматированием.

Одно нажатие для пакетного извлечения адресов электронной почты из текстовой строки с помощью Kutools

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

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

После загрузки и установки Kutools для Excel сделайте следующее:

  1. Выберите диапазон ячеек, из которых вы хотите извлечь адреса электронной почты. Затем перейдите к выбору "Kutools" > "Текст" > "Извлечь адреса электронной почты".
  2. В появившемся диалоговом окне "Извлечь адреса электронной почты" выберите ячейку для вывода адреса электронной почты и нажмите OK.
    A screenshot of the Kutools Extract Email Address feature in action
Результат

Затем все адреса электронной почты в каждой ячейке выбранного диапазона будут немедленно извлечены.

A screenshot showing the results of email extraction using Kutools

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас


Извлечение адреса электронной почты из текстовой строки с помощью формулы

Здесь я представляю вам длинную формулу для извлечения только адресов электронной почты из текста в Excel. Пожалуйста, сделайте следующее:

1. В соседней ячейке B1 введите следующую формулу:

=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1)))

A screenshot showing a formula for extracting email addresses in Excel

2. Затем нажмите клавишу Enter, затем выберите ячейку B1 и протяните маркер заполнения до диапазона, который вы хотите охватить этой формулой. И адреса электронной почты в диапазоне будут извлечены из текстовой строки. См. скриншот:

A screenshot of email addresses extracted using a formula in Excel

Примечания:

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) в соседнюю пустую ячейку, см. скриншот:

A screenshot showing a user-defined function for extracting email addresses in Excel

4. Затем нажмите клавишу Enter, выберите ячейку B1 и протяните маркер заполнения по диапазону, где вам нужна формула. И все адреса электронной почты будут извлечены из текста ячейки. См. скриншот:

A screenshot of email addresses extracted using a user-defined function in Excel

Примечания:

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, чтобы запустить этот код, и вам следует выбрать диапазон, который вы хотите использовать в появившемся диалоговом окне, см. скриншот:

A screenshot showing the range selection for VBA email extraction in Excel

4. Затем нажмите OK, и адреса электронной почты будут извлечены из выбранных текстовых строк. См. скриншоты:

A screenshot showing the original text before using VBA for email extraction Arrow A screenshot of the results after extracting emails with VBA code in Excel

Примечания:

1. Если ячейки не содержат адресов электронной почты, они покажут пустые ячейки.

2. Все электронные письма будут извлечены, если в ячейке более одного адреса электронной почты.

3. Извлеченные электронные письма перезапишут исходные данные, поэтому рекомендуется сначала сделать резервную копию ваших данных.


arrow blue right bubble Демонстрация: Извлечение адреса электронной почты из текстовой строки с помощью Kutools для Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Связанная статья:

Как извлечь домены из нескольких адресов электронной почты в Excel?

Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!