Перейти к основному содержанию
 

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

Автор: Сяоян Последнее изменение: 2024 июля 07 г.

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

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

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

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

  1. Нажмите на первую ячейку в соседнем столбце (например, B2), где вы хотите, чтобы отображались адреса электронной почты.
  2. Вручную введите адрес электронной почты из соответствующей строки в столбце A, а затем нажмите Enter.
    Например, если A2 содержит "ана варела@gmail.com," тип " ана варела@gmail.com " в Б2.
    снимок экрана с извлечением адреса электронной почты из строки texe с помощью Flash Fill 1
  3. Оставайтесь в ячейке B3, нажмите Ctrl + Э тo активировать Вспышка заливки.
    Excel автоматически заполнит остальную часть столбца B извлеченными адресами электронной почты.
    снимок экрана с извлечением адреса электронной почты из строки texe с помощью Flash Fill 3
Заметки:
  • Вспышка заливки доступен в Excel 2013 и более поздних версиях. Если вы используете Excel 2010 или более раннюю версию, эта функция может быть недоступна.
  • Убедитесь, что ячейки, к которым вы применяете быструю заливку, отформатированы как «Текст», чтобы избежать нежелательных проблем с форматированием.

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

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

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

  1. Выберите диапазон ячеек, из которого вы хотите извлечь адреса электронной почты. Затем перейдите к выбору Кутулс > Текст > Извлечь адрес электронной почты
  2. В всплывающем Извлечь адрес электронной почты диалоговом окне выберите ячейку для вывода адреса электронной почты и нажмите OK
    снимок экрана с извлечением адреса электронной почты из строки texe с помощью kutools
Результат

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

снимок экрана с извлечением адреса электронной почты из строки texe с использованием результата kutools
Внимание: Чтобы использовать эту функцию, вы должны иметь Kutools for Excel установленных на вашем компьютере. Перейдите к загрузке Kutools for Excel, чтобы получить 30-дневную бесплатную пробную версию без ограничений..

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

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

1. В соседней ячейке B1 введите эту формулу = ОБРЕЗАТЬ (ВПРАВО (ПОДСТАВИТЬ (ЛЕВО (A1, НАЙТИ ("", A1 & "", НАЙТИ ("@", A1)) - 1), "", ПОВТОР ("", LEN (A1))), LEN ( А1))).

doc-extract-emails3

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

doc-extract-emails4

Ноты:

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

doc-extract-emails5

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

doc-extract-emails6

Ноты:

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 в появившемся диалоговом окне, см. снимок экрана:

doc-extract-emails7

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

doc-extract-emails8 -2 doc-extract-emails9

Ноты:

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

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

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


стрелка синий правый пузырь Демо: извлечение адреса электронной почты из текстовой строки с помощью Kutools for Excel

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

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

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

Лучшие инструменты для офисной работы

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

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


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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