Если вам часто приходится собирать адрес электронной почты клиента или вы читаете его из списка Excel, вам необходимо перейти к фильтрации и разделению, чтобы получить только адрес электронной почты в списке. Адреса электронной почты будут включать сообщение, комментарий или любую другую информацию вверху и внизу адреса электронной почты. Копирование каждого адреса электронной почты вручную займет очень много времени, если список очень длинный. Итак, как отфильтровать электронную почту из информации, содержащейся в Excel?
- Инструкции по разделению содержимого столбцов в Excel
- 2 способа разделения информации Имя в Microsoft Excel?
- Как разделить столбцы даты, месяца и года на 3 разных столбца в Excel
Например, у нас есть пример таблицы данных ниже со списком адресов электронной почты, который необходимо отделить, отфильтровать от сопутствующего содержимого. Электронная почта смешивается с содержимым на оборотной и передней сторонах.
Шаг 1:
Во-первых, пользователи затемняют все содержимое этого списка. Продолжайте нажимать инструмент «Найти и выделить» и выберите «Заменить». или вы можете быстро нажать Ctrl + H, чтобы быстро открыть.
Шаг 2:
Откройте интерфейс поиска и замены, щелкните вкладку «Заменить». Затем в разделе «Найти» введите расширение электронной почты .com *. Символ * будет представлять весь контент, отображаемый за доменом .com. Может быть применен к .net или любому расширению электронной почты по вашему желанию.
Затем в поле «Заменить на» введите .com. Нажмите «Заменить все», чтобы удалить символы в конце электронного письма.
Шаг 3:
Затем Excel сообщит количество символов для поиска в соответствии с заданным пользователем содержимым поиска, нажмите OK, чтобы согласиться.
В результате список рассылки удалит лишнее содержимое за адресом электронной почты.
Шаг 4:
Затем снова откройте интерфейс поиска и замены. В поле «Найти, что вводить *» компонент «Заменить» ничего не вводит. Щелкните Заменить все.
Мы также получаем уведомление о количестве найденных символов, вместо этого нажмите ОК.
Окончательный результат — вся верхняя часть электронного письма была удалена, включая пробелы. Список адресов электронной почты в Excel был значительно упрощен.
Вместо того, чтобы вручную фильтровать электронные письма, инструмент Excel «Найти и заменить» перенес все данные в списке на адреса электронной почты. Первое и последнее содержимое письма удаляются, включая пробелы.
Видеоурок по фильтрации адресов электронной почты в Excel
Узнать больше:
- Как преобразовать последовательность чисел в даты в Excel
- Как посчитать количество дней в Excel
- Как разделить тысячи запятыми в Excel
Желаю всем успехов!
Как быстро извлечь адрес электронной почты из текстовой строки?
Когда вы импортируете некоторые адреса электронной почты из веб-сайта в рабочий лист Excel, они всегда содержат нерелевантный текст, но теперь вы просто хотите извлечь чистые адреса электронной почты из текстовой строки (см. Следующие снимки экрана). Как можно быстро получить адреса электронной почты только из текста ячейки?
Извлечь адрес электронной почты из текстовой строки с помощью формулы
Здесь я представляю вам длинную формулу для извлечения только адресов электронной почты из текста в 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, здесь я могу порекомендовать вам быстрый и простой инструмент — Kutools for Excel, С его Извлечь адрес электронной почты Утилита, вы можете без особых усилий извлечь адреса электронной почты из текстовых строк.
Если вы установили Kutools for Excel, пожалуйста, сделайте следующее:
1. Выделите ячейки, содержащие текстовые строки.
2. Нажмите Кутулс > Текст > Извлечь адрес электронной почты, см. снимок экрана:
3, И Извлечь адрес электронной почты появится диалоговое окно, выберите ячейку, в которую вы хотите поместить результат, см. снимок экрана:
4. Затем нажмите OK , все адреса электронной почты были извлечены из текстовых строк, см. снимок экрана:
Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel от Yhao сейчас!
Демонстрация: извлечение адреса электронной почты из текстовой строки с помощью Kutools for Excel
Связанная статья:
Как извлечь домены из нескольких адресов электронной почты в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Когда вы импортируете некоторые адреса электронной почты из веб-сайта в рабочий лист Excel, они всегда содержат нерелевантный текст, но теперь вы просто хотите извлечь чистые адреса электронной почты из текстовой строки (см. следующие снимки экрана). Как можно быстро получить адреса электронной почты только из текста ячейки?
|
|
|
Извлечь адрес электронной почты из текстовой строки с помощью формулы Извлечь адрес электронной почты из текстовой строки с помощью функции, определяемой пользователем Извлечь адрес электронной почты из текстовой строки с помощью VBA код Извлечь адрес электронной почты из текстовой строки с помощью Kutools for Excel |
Содержание
- Извлечь письмо адрес из текстовой строки с формулой
- Извлечь письмо адрес из текстовой строки с помощью функции, определяемой пользователем
- Извлечь адрес электронной почты из текстовой строки с кодом VBA
- Извлечь адрес электронной почты из текстовой строки с помощью Kutools for Excel одним щелчком мыши
- Демо: извлечение адреса электронной почты из текстовая строка с помощью Kutools for Excel
Извлечь письмо адрес из текстовой строки с формулой
Здесь я представляю вам длинную формулу для извлечения только адресов электронной почты из текста в Excel. Пожалуйста, сделайте следующее:
1 . В соседней ячейке B1 введите эту формулу = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND (“”, A1 & “”, FIND (“@”, A1)) – 1), “”, REPT (“”, LEN (A1))), LEN (A1))) .
2 . Затем нажмите клавишу Enter , затем выберите ячейку B1 и перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу. И адреса электронной почты в диапазоне были извлечены из текстовой строки. См. Снимок экрана:
Примечания:
1. Знаки препинания после адреса электронной почты также будут извлечены.
2. Если в ячейках нет адресов электронной почты, в формуле будут отображаться значения ошибок.
3. Если в ячейке несколько адресов электронной почты, формула будет извлекать только первый адрес.
Извлечь несколько адресов электронной почты из текстовых строк.
Kutools for Excel ‘s Извлечь адрес электронной почты может помочь вам быстро и удобно извлекать адреса электронной почты из текстовых строк. Нажмите, чтобы загрузить Kutools for Excel!
: с более чем 300 удобными надстройками Excel, попробуйте бесплатно без ограничений через 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!
Извлечь письмо адрес из текстовой строки с помощью функции, определяемой пользователем
За исключением приведенной выше формулы, функция, определяемая пользователем, также может помочь вам получить адрес электронной почты из текстовой строки.
1 . Удерживая нажатыми клавиши ALT + F11 , откроется окно Microsoft Visual Basic для приложений .
2 . Нажмите Вставить > Module и вставьте следующий макрос в окно модуля.
3 . Затем сохраните код и введите формулу = ExtractEmailFun (A1) в соседнюю пустую ячейку, см. Снимок экрана:
4 . Затем нажмите клавишу Enter , выберите ячейку B1 и перетащите маркер заполнения в диапазон, в котором вам нужна формула. И все адреса электронной почты были извлечены из текста ячейки. См. Снимок экрана:
Примечания:
1. Если в ячейках нет адресов электронной почты, будут отображаться пустые ячейки.
2. Если в ячейке несколько адресов электронной почты, все электронные письма будут извлечены.
Извлечь адрес электронной почты из текстовой строки с кодом VBA
Если вы чувствуете, что приведенные выше формулы доставляют вам неудобства, следующий код VBA может помочь вам извлечь адреса электронной почты в один.
1 . Удерживая нажатыми клавиши ALT + F11 , откроется окно Microsoft Visual Basic для приложений .
2 . Нажмите Вставить > Module и вставьте следующий макрос в окно модуля .
VBA: извлекать адреса электронной почты из текстовой строки
3 . Затем нажмите клавишу F5 , чтобы запустить этот код, и вы должны выбрать диапазон, который вы хотите использовать VBA в появившемся диалоговом окне, см. Снимок экрана:
4 . Затем нажмите OK , и адреса электронной почты будут извлечены из выбранных текстовых строк. См. Скриншоты:
1 . Если в ячейках нет адресов электронной почты, будут отображаться пустые ячейки.
2. Все электронные письма будут извлечены, если в ячейке более одного адреса электронной почты.
3. Извлеченные электронные письма будут охватывать исходные данные, поэтому при необходимости лучше сначала сделать резервную копию данных.
Извлечь адрес электронной почты из текстовой строки с помощью Kutools for Excel одним щелчком мыши
Вышеупомянутые методы выглядят несколько сложными для нашего новичка в Excel, здесь я могу порекомендовать это быстрый и простой инструмент – Kutools for Excel , с его утилитой Извлечь адрес электронной почты , вы можете без особых усилий извлекать адреса электронной почты из текстовых строк.
Kutools for Excel : с более чем 300 удобными надстройками Excel ins, попробуйте бесплатно без ограничений в течение 30 дней . |
Перейти к загрузке |
Если вы установили Kutools for Excel , сделайте следующее:
1 . Выберите ячейки, содержащие текстовые строки.
2 . Нажмите Kutools > Text > Извлечь адрес электронной почты . , см. снимок экрана:
3 . Появится диалоговое окно Извлечь адрес электронной почты , выберите ячейку, в которую вы хотите поместить результат, см. Снимок экрана:
. Затем нажмите кнопку OK , все адреса электронной почты были извлечены из текстовых строк, см. Снимок экрана:
Нажмите, чтобы загрузить и бесплатную пробную версию Kutools for Excel прямо сейчас!
Демо: извлечение адреса электронной почты из текстовая строка с помощью Kutools for Excel
Kutools for Excel : с более чем 300 удобные надстройки Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию прямо сейчас!
Как извлечь домены из нескольких адресов электронной почты в Excel?
Riplon Пользователь Сообщений: 3 |
Есть текст такого вида: PERSONAL-7YA@MAIL.RU » AVTO_MAG.YAR@MAIL.RU « Как вырезать электронную почту и вставить в соседнюю ячейку (справа например)? |
Ёк-Мок Пользователь Сообщений: 1775 |
вариант (100 скрытых столбцов для 100 символов исходного текста) Прикрепленные файлы
Удивление есть начало познания © Surprise me! |
Сергей Пользователь Сообщений: 11251 |
#3 30.07.2015 15:27:08 без примера не знаю будет работать на различных текстах или нет допиливайте сами
Лень двигатель прогресса, доказано!!! |
||
Catboyun Пользователь Сообщений: 1631 |
#4 30.07.2015 15:33:01 =СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;400));400))
аналогично Изменено: Catboyun — 30.07.2015 15:40:26 |
||
Игорь Пользователь Сообщений: 3631 |
|
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
#6 30.07.2015 19:09:25 Кто подскажет, почему
не видит второго (перед PERSONAL) пробела? |
||
Игорь Пользователь Сообщений: 3631 |
пробелы бывают разные |
Юрий М Модератор Сообщений: 60581 Контакты см. в профиле |
Про 160 (неразрывный пробел) я в курсе, но чтобы он в такой строке оказался — даже и не подозревал )) |
Hugo Пользователь Сообщений: 23252 |
Вот опять — «вырезать и вставить». Это в принципе не может сделать ни одна формула, только макросом. Ну как вариант — две формулы в два доп.столбца… |
Riplon Пользователь Сообщений: 3 |
Не получается применить. Вот исходная база |
Сергей Пользователь Сообщений: 11251 |
что не получается ваших попыток даже не видно Лень двигатель прогресса, доказано!!! |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
Вариант, однако… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
Riplon Пользователь Сообщений: 3 |
Хм. У меня почему-то пишет просто формулу, как в примере — не рассчитывает результат (на принтскрине ниже видно). Хотя в ваших файлах все считает. А откуда взять «Extract hiperlinks»? И еще — как сделать, чтобы в ячейке, откуда мы берем почту — ее не копировать, а вырезать, чтобы ее там не оставалось? Или создавать рядом новую ячейку, в которой не будет электронной почты Изменено: Riplon — 03.08.2015 16:56:29 |
Hugo Пользователь Сообщений: 23252 |
Так это тот редкий случай, когда и впрямь нужно вырезать |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#15 03.08.2015 17:12:19
Вам выдали немало вариантов, но вы САМИ пока ничего не предприняли, так может стоит вам просто заказать решение в «РАБОТЕ»? «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
Hugo Пользователь Сообщений: 23252 |
Да, тут же выше всё уже есть. |
Kuzmich Пользователь Сообщений: 7998 |
#17 03.08.2015 17:42:41
UDF
|
||||
МВТ Пользователь Сообщений: 1198 |
#18 03.08.2015 20:05:17 У меня без регулярных выражений, попроще
|
||
Сергей Пользователь Сообщений: 11251 |
как человек в VBA плавающий выкладываю решение Kuzmich, тама нет почты и МВТ, тама есть почта Лень двигатель прогресса, доказано!!! |
Kuzmich Пользователь Сообщений: 7998 |
#20 03.08.2015 21:05:16
Вот почта
|
||||
Данный макрос предназначен для поиска адресов электронной почты на листе Excel, с последующим выводом найденных адресов на отдельный лист.
В прикреплённом файле, на первом листе («исходные данные»), ячейки заполнены неструктурированной информацией (смесь фамилий, адресов почты, прочей ненужной информации)
Макрос вычленяет из текста ячеек адреса электронной почты, и выводит все найденные адреса email в таблицу на втором листе («результат»)
Конечно, не помешало бы ещё проверить все найденные адреса почты на корректность (на соответствие стандартам RFC 5322 и RFC 5321), но в данном макросе это не реализовано (но обычно это и не требуется)
Для поиска адресов email используются регулярные выражения (RegExp)
Также рекомендуем обратить внимание на настройку для программы Парсер сайтов Сбор email на интернет-сайтах. Настройка позволяет проходить по списку сайтов и искать е-мейл на основной странице и странице контактов.
Есть в наличии также другая версия этого макроса, который выводит найденные адреса email в те же строки листа, где они были найдены:
Если вам нужна именно такая версия макроса, оплачивайте 450 руб, и напишите на почту order@excelvba.ru письмо с темой «Покупка макрос поиска email» с указанием, когда и куда оплатили.
После получения оплаты, я вышлю вам на почту файл с макросом.
Dim coll As Collection Sub EmailsList() Dim cell As Range: Application.ScreenUpdating = False Set coll = New Collection ' перебираем все заполненные ячейки на листе в поисках адресов почты For Each cell In shs.UsedRange.SpecialCells(xlCellTypeConstants).Cells ParseAddresses cell.Text ' проверяем очередную ячейку Next cell ' выводим найденные номера на второй лист For Each Item In coll shres.Range("a" & shres.Rows.Count).End(xlUp).Offset(1) = Item Next End Sub Sub cl(): shres.[a4:a65000].ClearContents: End Sub ' очистка таблицы Sub ParseAddresses(ByVal txt As String) ' ищет в тексте txt адреса электронной почты, ' все найденные адреса добавляются в коллекцию coll repl1$ = "ZZZXXXZZZ": repl2$ = "ZZZYYYZZZ": On Error Resume Next txt = Replace(txt, ".", repl1$): txt = Replace(txt, "-", repl2$) Set RegExp = CreateObject("VBScript.RegExp"): RegExp.Global = True RegExp.Pattern = "[w]{1,}@[w]{1,}" & repl1$ & "[w]{1,}" If RegExp.test(txt) Then Set objMatches = RegExp.Execute(txt) For i = 0 To objMatches.Count - 1 addr = objMatches.Item(i).Value addr = Replace(addr, repl1$, "."): addr = Replace(addr, repl2$, "-") coll.Add addr, addr ' только уникальные адреса Next End If End Sub
- 66077 просмотров
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.