Jak szybko wyodrębnić adres e-mail z ciągu tekstowego?
Podczas importowania niektórych adresów e-mail z witryny internetowej do arkusza programu Excel zawsze zawiera nieistotny tekst, ale teraz chcesz po prostu wyodrębnić czyste adresy e-mail z ciągu tekstowego (patrz poniższe zrzuty ekranu). Jak możesz szybko uzyskać adresy e-mail tylko z tekstu komórki?
Wyodrębnij adres e-mail z ciągu tekstowego za pomocą Formuły
Tutaj przedstawiam długą formułę wyodrębniania tylko adresów e-mail z tekstu w programie Excel. Wykonaj następujące czynności:
1. W sąsiedniej komórce B1 wprowadź tę formułę = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND ("", A1 & "", ZNAJDŹ ("@", A1)) - 1), "", REPT ("", DŁ (A1))), DŁ ( A1))).
2. Następnie naciśnij Wchodzę , a następnie zaznacz komórkę B1 i przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zawrzeć tę formułę. A adresy e-mail z zakresu zostały wyodrębnione z ciągu tekstowego. Zobacz zrzut ekranu:
Uwagi:
1. Znaki interpunkcyjne po adresie e-mail również zostaną wyodrębnione.
2. Jeśli komórki nie zawierają adresów e-mail, formuła wyświetli wartości błędów.
3. Jeśli w komórce znajduje się więcej niż jeden adres e-mail, formuła wyodrębni tylko pierwszy adres.
Wyodrębnij wiele adresów e-mail z ciągów tekstowych
Kutools dla programu Excel'S Wyodrębnij adres e-mail może pomóc w szybkim i wygodnym wyodrębnieniu adresów e-mail z ciągów tekstowych. Kliknij, aby pobrać Kutools dla programu Excel!
Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!
Wyodrębnij adres e-mail z ciągu tekstowego za pomocą funkcji zdefiniowanej przez użytkownika
Oprócz powyższej formuły funkcja zdefiniowana przez użytkownika może również pomóc w uzyskaniu adresu e-mail z ciągu tekstowego.
1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujące makro w oknie modułu.
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. Następnie zapisz kod i wprowadź wzór = ExtractEmailFun (A1) w sąsiedniej pustej komórce, zobacz zrzut ekranu:
4. A następnie naciśnij Wchodzę , zaznacz komórkę B1 i przeciągnij uchwyt wypełniania do zakresu, w którym potrzebujesz formuły. Wszystkie adresy e-mail zostały wyodrębnione z tekstu komórki. Zobacz zrzut ekranu:
Uwagi:
1. Jeśli komórki nie mają adresów e-mail, zostaną ujawnione puste komórki.
2. Jeśli w komórce jest więcej niż jeden adres e-mail, wszystkie e-maile zostaną wyodrębnione.
Wyodrębnij adres e-mail z ciągu tekstowego z kodem VBA
Jeśli uważasz, że powyższe formuły są dla Ciebie kłopotliwe, poniższy kod VBA może pomóc w wyodrębnieniu adresów e-mail w jednym.
1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujące makro w Okno modułu.
VBA: wyodrębnij adresy e-mail z ciągu tekstowego
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. Następnie wciśnij F5 klucz do uruchomienia tego kodu i powinieneś wybrać zakres, w którym chcesz użyć VBA w wyskakującym oknie dialogowym, zobacz zrzut ekranu:
4. Następnie kliknij OK, a adresy e-mail zostały wyodrębnione z wybranych ciągów tekstowych. Zobacz zrzuty ekranu:
Uwagi:
1. Jeśli komórki nie mają adresów e-mail, zostaną ujawnione puste komórki.
2. Wszystkie e-maile zostaną wyodrębnione, jeśli w komórce jest więcej niż jeden adres e-mail.
3. Wyodrębnione wiadomości e-mail będą obejmować oryginalne dane, więc w razie potrzeby lepiej najpierw wykonaj kopię zapasową danych.
Wyodrębnij adres e-mail z ciągu tekstowego za pomocą Kutools for Excel jednym kliknięciem
Powyższe metody wyglądają na nieco skomplikowane dla naszego początkującego programu Excel, tutaj mogę polecić szybkie i łatwe narzędzie- Kutools dla programu Excel, Z siedzibą w Wyodrębnij adres e-mail narzędzie, możesz bez większego wysiłku wyodrębnić adresy e-mail z ciągów tekstowych.
Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni. |
Jeśli masz zainstalowany Kutools dla programu Excelwykonaj następujące czynności:
1. Zaznacz komórki zawierające ciągi tekstowe.
2. Kliknij Kutools > Tekst > Wyodrębnij adres e-mailzobacz zrzut ekranu:
3. I Wyodrębnij adres e-mail Pojawi się okno dialogowe, wybierz komórkę, w której chcesz umieścić wynik, zobacz zrzut ekranu:
4. Następnie kliknij OK przycisk, wszystkie adresy e-mail zostały wyodrębnione z ciągów tekstowych, patrz zrzut ekranu:
Kliknij, aby pobrać i bezpłatnie wypróbować Kutools dla programu Excel teraz!
Demo: wyodrębnij adres e-mail z ciągu tekstowego za pomocą Kutools for Excel
Podobne artykuły:
Jak wyodrębnić domeny z wielu adresów e-mail w programie Excel?
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!