Прескочи на основното съдържание

Как бързо да извлека имейл адрес от текстов низ?

Автор: Xiaoyang Последна промяна: 2020-04-23

Когато импортирате някои имейл адреси от уебсайт в работен лист на Excel, там винаги се съдържа неуместен текст, но сега просто искате да извлечете чистите имейл адреси от текстовия низ (вижте следващите екранни снимки). Как можете бързо да получите само имейл адресите от текста на клетката?

doc-extract-emails1 -2 doc-extract-emails2

Извличане на имейл адрес от текстов низ с формула

Извличане на имейл адрес от текстов низ с дефинирана от потребителя функция

Извличане на имейл адрес от текстов низ с VBA код

Извлечете имейл адрес от текстов низ с Kutools за Excel


стрелка син десен балон Извличане на имейл адрес от текстов низ с формула

Тук ви представям дълга формула за извличане само на имейл адресите от текста в Excel. Моля, направете следното:

1. В съседната клетка B1 въведете тази формула =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN( А1))).

doc-extract-emails3

2. След това натиснете Въведете клавиш, след това изберете клетка B1 и плъзнете манипулатора за попълване до диапазона, който искате да съдържа тази формула. И имейл адресите в диапазона са извлечени от текстовия низ. Вижте екранна снимка:

doc-extract-emails4

Забележки:

1. Препинателните знаци след имейл адреса също ще бъдат извлечени.

2. Ако клетките не съдържат имейл адресите, формулата ще покаже стойности за грешка.

3. Ако има повече от един имейл адрес в клетка, формулата ще извлече само първия адрес.


Извличане на множество имейл адреси от текстови низове

Kutools за ExcelЕ Извличане на имейл адрес може да ви помогне да извлечете имейл адресите от текстовите низове бързо и удобно. Щракнете, за да изтеглите Kutools за Excel!

имейли за извличане на документи-1

Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!


стрелка син десен балон Извличане на имейл адрес от текстов низ с дефинирана от потребителя функция

Освен горната формула, дефинирана от потребителя функция също може да ви помогне да получите имейл адреса от текстовия низ.

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. И след това натиснете Въведете изберете клетка B1 и плъзнете манипулатора за запълване до диапазона, от който се нуждаете от формулата. И всички имейл адреси са извлечени от текста на клетката. Вижте екранна снимка:

doc-extract-emails6

Забележки:

1. Ако клетките нямат имейл адреси, ще се покажат празни клетки.

2. Ако има повече от един имейл адрес в клетка, всички имейли ще бъдат извлечени.


стрелка син десен балон Извличане на имейл адрес от текстов низ с VBA код

Ако смятате, че формулите по-горе са обезпокоителни за вас, следният VBA код може да ви помогне да извлечете имейл адресите наведнъж.

1. Задръжте натиснат ALT + F11 ключове и отваря a 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 за Excel с едно щракване

Горните методи изглеждат малко сложни за нашия начинаещ в Excel, тук мога да ви препоръчам бърз и лесен инструмент- Kutools за Excel, Със своята Извличане на имейл адрес помощна програма, можете да извлечете имейл адресите от текстовите низове без много усилия.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни.

Ако сте инсталирали Kutools за Excel, моля, направете следното:

1. Изберете клетките, съдържащи текстовите низове.

2. Щракнете Kutools > Текст > Извличане на имейл адрес, вижте екранна снимка:

3. И един Извличане на имейл адрес ще се появи диалогов прозорец, изберете клетка, където искате да поставите резултата, вижте екранна снимка:

doc-extract-emails9

4, След това кликнете OK всички имейл адреси са извлечени от текстовите низове, вижте екранната снимка:

doc-extract-emails9

Кликнете, за да изтеглите и безплатна пробна версия Kutools за Excel сега!


стрелка син десен балон Демонстрация: Извличане на имейл адрес от текстов низ с Kutools за Excel

Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!

Свързана статия:

Как да извлека домейни от множество имейл адреси в Excel?

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (40)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
You're a genius!!!
This comment was minimized by the moderator on the site
Really helpful to extract emails in a neat way, thank you!
This comment was minimized by the moderator on the site
Malheureusement la première formule donnée se met en erreur....
This comment was minimized by the moderator on the site
Thank you very much, spend only half hour looking for this and save me ten hours of work!
This comment was minimized by the moderator on the site
This is the most useful page I have ever found on Excel - thank you.
This comment was minimized by the moderator on the site
How do you extract multiple email addresses for one cell?
This comment was minimized by the moderator on the site
Hi, Donna,
The second and the third methods in this article can help you to extract multiple Email addresses from one cell, please try, thank you!
This comment was minimized by the moderator on the site
Quando extraído mais que um email usando a macro, como separa-los depois usando uma outra célula ? Ou é possível extrair já separando ?
This comment was minimized by the moderator on the site
Saved me hours of manual parsing. Thank you!
This comment was minimized by the moderator on the site
Thank you!
This comment was minimized by the moderator on the site
Hi. This is a great job! I am sure that hundreds of people learned new stuff because of it. But if you just want to extract email addresses, you can use extractemailaddress.com . It seemed simple and quick, and I hav pasted the result in my excel spreadsheet. great!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations