Note: The other languages of the website are Google-translated. Back to English

E-posta adresini metin dizesinden hızlı bir şekilde nasıl çıkarabilirim?

Web sitesinden Excel çalışma sayfasına bazı e-posta adreslerini içe aktardığınızda, her zaman alakasız metin içerir, ancak şimdi yalnızca metin dizesinden salt e-posta adreslerini çıkarmak istersiniz (aşağıdaki ekran görüntülerine bakın). Sadece e-posta adreslerini hücre metninden nasıl hızlı bir şekilde alabildiniz?

doc-extract-e-postalar1 -2 doc-extract-e-postalar2

Formül ile metin dizesinden e-posta adresini çıkarın

Kullanıcı Tanımlı İşleviyle metin dizesinden e-posta adresini çıkarın

E-posta adresini metin dizesinden VBA kodu ile çıkarın

Kutools for Excel ile e-posta adresini metin dizesinden çıkarın


ok mavi sağ balon Formül ile metin dizesinden e-posta adresini çıkarın

Burada size Excel'deki metinden yalnızca e-posta adreslerini çıkarmak için uzun bir formül sunuyorum. Lütfen aşağıdaki işlemleri yapın:

1. Bitişik B1 hücresine bu formülü girin = TRIM (SAĞ (SUBSTITUTE (SOL (A1, BUL ("", A1 & "", BUL ("@", A1)) - 1), "", REPT ("", UZUNLUK (A1))), UZUNLUK ( A1))).

doc-extract-e-postalar3

2. Daha sonra tuşuna basın. Keşfet tuşuna basın, ardından B1 hücresini seçin ve dolgu tutamacını bu formülü içermesini istediğiniz aralığa sürükleyin. Ve aralıktaki e-posta adresleri metin dizesinden çıkarılmıştır. Ekran görüntüsüne bakın:

doc-extract-e-postalar4

Notlar:

1. E-posta adresinden sonraki noktalama işaretleri de çıkarılacaktır.

2. Hücreler e-posta adreslerini içermiyorsa, formül hata değerlerini gösterecektir.

3. Bir hücrede birden fazla e-posta adresi varsa, formül yalnızca ilk adresi çıkarır.


Metin dizelerinden Birden Fazla E-posta Adresini Çıkarın

Kutools for Excel'S E-posta Adresini Çıkarın metin dizilerinden e-posta adreslerini hızlı ve kolay bir şekilde çıkarmanıza yardımcı olabilir. Kutools for Excel'i indirmek için tıklayın!

doc ekstresi e-postalar-1

Kutools for Excel: 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin. Hemen indirin ve ücretsiz deneme!


ok mavi sağ balon Kullanıcı Tanımlı İşleviyle metin dizesinden e-posta adresini çıkarın

Yukarıdaki formül dışında, Kullanıcı Tanımlı İşlev, e-posta adresini metin dizesinden almanıza da yardımcı olabilir.

1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki makroyu Modül penceresine yapıştırın.

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. Ardından kodu kaydedin ve formülü girin = ExtractEmailFun (A1) bitişik boş bir hücrede, ekran görüntüsüne bakın:

doc-extract-e-postalar5

4. Ve sonra tuşuna basın. Keşfet tuşuna basın, B1 hücresini seçin ve doldurma tutamacını formüle ihtiyacınız olan aralığın üzerine sürükleyin. Ve tüm e-posta adresleri hücre metninden çıkarılmıştır. Ekran görüntüsüne bakın:

doc-extract-e-postalar6

Notlar:

1. Hücrelerin e-posta adresleri yoksa, boş hücreler ortaya çıkar.

2. Bir hücrede birden fazla e-posta adresi varsa, tüm e-postalar çıkarılacaktır.


ok mavi sağ balon E-posta adresini metin dizesinden VBA kodu ile çıkarın

Yukarıdaki formüllerin sizin için sorunlu olduğunu düşünüyorsanız, aşağıdaki VBA kodu e-posta adreslerini tek seferde çıkarmanıza yardımcı olabilir.

1. Basılı tutun ALT + F11 anahtarlar ve bir Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki makroyu Modül penceresi.

VBA: e-posta adreslerini metin dizesinden çıkarın

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. Sonra Basın F5 Bu kodu çalıştırmak için anahtar ve açılan iletişim kutusunda VBA'yı kullanmak istediğiniz bir aralığı seçmelisiniz, ekran görüntüsüne bakın:

doc-extract-e-postalar7

4. Sonra tıklayın OKve e-posta adresleri seçilen metin dizelerinden çıkarılmıştır. Ekran görüntülerine bakın:

doc-extract-e-postalar8 -2 doc-extract-e-postalar9

Notlar:

1. Hücrelerde e-posta adresi yoksa, boş hücreler ortaya çıkar.

2. Bir hücrede birden fazla e-posta adresi varsa, tüm e-postalar çıkarılacaktır.

3. Çıkarılan e-postalar orijinal verileri kapsayacaktır, bu nedenle ihtiyacınız olursa önce verileri yedeklemeniz daha iyi olur.


ok mavi sağ balon Kutools for Excel ile tek bir tıklama ile e-posta adresini metin dizesinden çıkarın

Yukarıdaki yöntemler, Excel'e yeni başlayanlar için biraz karmaşık görünüyor, burada size hızlı ve kolay bir araç önerebilirim- Kutools for Excel, Onun ile E-posta Adresini Çıkarın yardımcı program, e-posta adreslerini metin dizelerinden çok fazla çaba harcamadan çıkarabilirsiniz.

Kutools for Excel : 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin.

Yüklediyseniz Kutools for Excellütfen aşağıdaki işlemleri yapın:

1. Metin dizelerini içeren hücreleri seçin.

2. tıklayın Kutools > Metin > E-posta Adresini Çıkarın, ekran görüntüsüne bakın:

3. Ve bir E-posta Adresini Çıkarın iletişim kutusu açılır, sonucu koymak istediğiniz hücreyi seçin, ekran görüntüsüne bakın:

doc-extract-e-postalar9

4. Sonra tıklayın OK düğmesi, tüm e-posta adresleri metin dizelerinden çıkarılmıştır, ekran görüntüsüne bakın:

doc-extract-e-postalar9

Kutools for Excel'i şimdi ücretsiz olarak indirip deneme için tıklayın!


ok mavi sağ balon Demo: Kutools for Excel ile metin dizesinden e-posta adresini çıkarın

Kutools for Excel: 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin. Hemen indirin ve ücretsiz deneme!

İlgili makale:

Excel'de birden çok e-posta adresinden etki alanları nasıl çıkarılır?


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (40)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
LUL E-POSTA ÖZÜ İÇİN BU KODU KULLANIN. Sub lula() Dim d1 As Variant cntr = 0 rowstring = ActiveCell.Offset(0, 0).Value d1 = Split(rowstring, " ") 'MsgBox d1(cntr) cntr = cntr + 1 ise d1(cntr) = "" Sonra Git ttt If InStr(d1(cntr), "@") Sonra MsgBox d1(cntr) Git ttt Döngüyü Sonlandır d1(cntr) "" ttt: End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
çok yararlı, teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu formül için teşekkürler! Az önce beni bir ton işten kurtardın - bir e-posta pazarlama listesi için kötü yazılmış bir Excel sayfasından 1500 e-posta çıkarmak zorunda kaldın. Sonunda formülünü bulduğumda çok kolay oldu.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika kod! Gerçekten kullanışlı. Maalesef, örneğin noktalı virgülle yararlı bir şekilde ayırmak yerine birden çok e-posta adresini birleştiriyor. Bir ayırıcıya nasıl eklersiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
hücreye yapıştırılacak sadece VBA formülü yok Sadece referansları değiştirin ( aşağıdaki örnek Hücre A1'e bakar) = TRIM(RIGHT(SUBTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT( " ",99)),99))&ORTA(A1,BUL("@",A1),BUL(" ",A1&" ",BUL("@",A1))-BUL("@",A1) )
Bu yorum sitedeki moderatör tarafından en aza indirildi
[quote]... =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1))Benim tarafımdan[/quote] Teşekkürler "ME", Google e-tablosunda kelimesi kelimesine çalışıyor!
Bu yorum sitedeki moderatör tarafından en aza indirildi
[quote]Hücreye yapıştırılacak yalnızca VBA formülü yok Sadece referansları değiştirin ( aşağıdaki örnek Hücre A1'e bakar) = KESİNTİ(SAĞ(YİNEDE(SOL(A1,BUL("@",A1)-1)," " ,REPT(" ",99)),99))&ORTA(A1,BUL("@",A1),BUL(" ",A1&" ",BUL("@",A1))-BUL("@" ,A1))Benim tarafımdan[/quote] Teşekkürler. Benim için çalıştı.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika! VBS betiği için büyük saygılar! TEŞEKKÜR!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok teşekkürler, bu çok kullanışlı!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu harika, ama şimdi bir sorunum var. Tüm e-posta adresleri (yani abcd@aol com) arasında nokta yerine bir boşluk var, bu nedenle formül tüm e-posta adreslerinin (.net, .com, vb.) sonunu yeni sütuna koymuyor. Bunu nasıl düzeltebilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Herkese merhaba, ben de e-posta adreslerini ayırmanın bir yolunu arıyordum, böylece Outlook'a koyabildim. Birlikte çalışmamaları için e-posta adresleri arasına bir "; " ayırıcı ekledim. Ne düşündüğü söyle. Bunu bir araya getirdiği için orijinalin yazarına teşekkürler! İşlev ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String Hatada Devam Et Sonraki CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" Index = 1 Do while True Index1 = VBA. InStr(Index, extractStr, "@") getStr = "" Index1 > 0 ise O zaman için p = Index1 - 1 - 1 Adım -1 Eğer Mid(extractStr, p, 1) gibi CheckStr O zaman 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) gibi CheckStr O zaman getStr = getStr & Mid(extractStr, p, 1) Else getStr = getStr Sondan Çık Eğer Sonraki ise İndeks = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Sonra ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End Aksi ise Exit Yap Bitir If Döngü Sonlandırma İşlevi
Bu yorum sitedeki moderatör tarafından en aza indirildi
Orijinal senaryonun yazarı sayesinde; Devam ettim ve birden çok e-posta adresi arasına bir "; " ayırıcı ekledim. İşlev ExtractEmailFun(extractStr As String) As String 'Update 20150723 Dim CharList As String Hatada Devam Et Sonraki CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" Index = 1 Do while True Index1 = VBA. InStr(Index, extractStr, "@") getStr = "" Index1 > 0 ise O zaman için p = Index1 - 1 - 1 Adım -1 Eğer Mid(extractStr, p, 1) gibi CheckStr O zaman 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) gibi CheckStr O zaman getStr = getStr & Mid(extractStr, p, 1) Else getStr = getStr Sondan Çık Eğer Sonraki ise İndeks = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Sonra ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End Aksi ise Exit Yap Bitir If Döngü Sonlandırma İşlevi
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu iyi! teşekkür ederim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Abi sen gerçekten dahisin Aşağıdaki formül benim için çalıştı ve saatlerce süren manuel müdahaleyi kurtardı =TRIM(RIGHT(SUBTITUTE(LEFT(H2,FIND (" ",H2&" " ",FIND("@",H2))-1)," ", REPT(" ",LEN(H2)),LEN(H2))) Allah razı olsun
Bu yorum sitedeki moderatör tarafından en aza indirildi
e-postaların nasıl ayıklanacağı hakkında daha fazla bilgiye ihtiyacım var
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sayın Yetkili, Aşağıdaki e-posta listesi örneğinden doğru e-posta kimliklerini nasıl çıkarabilirim a.hamilton@tradsingapore.com.sg aarabest@emirates.com.net.ae admin@countrywide.com.my
Bu yorum sitedeki moderatör tarafından en aza indirildi
formül bana çok yardımcı olduğu için deneyimlerimi paylaşayım dedim. Bazen formülün hata vermesine neden olacak kadar uzun olan bir html web karalamaları listesine karşı çalıştırıyorum. Wikipedia'ya göre, bir e-posta adresinin maksimum uzunluğu 254 karakterdir, bu nedenle len(A1) bölümlerinin 256 ile değiştirilmesi işlevin kararlılığını artırır: =KES(SAĞ(YİNE DEĞİŞTİR(SOL(A1,BUL (" ",A1&" ", BUL("@",A1))-1)," ", REPT(" ",256)),256))
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika, harika. herkes kullanmalı..
Bu yorum sitedeki moderatör tarafından en aza indirildi
A1'den yalnızca bir e-posta adresi çıkarmak istersem, bu formül bunu yapar ve A1'de e-posta adresi yoksa bir hata değil, yalnızca bir boşluk bildirir. Bunu, tüm bu komut dosyalarında ustalaşmaya çalışmaktan daha kolay bir çözüm buluyorum ve hiçbir maliyeti yok. =EĞERHATA(KES(SAĞ(YİNE DEĞİŞTİR(SOL(A1,BUL(" ",A1&" "),BUL("@",A1))-1)," ",REPT(" ",UZUNLUK(A1))), UZUNLUK(A1))),"")
Bu yorum sitedeki moderatör tarafından en aza indirildi
Son derece yardımsever. Çok teşekkürler!!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika bilgiler! teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
HP'de Excel 2007 kullanıyorum. A1'de Melanie Brown varsa ve aynı hücrede Melanie.Brown@gmail.com'u okumasını istiyorsanız, bunu nasıl başarıyorsunuz? Aynı şekilde yapmak için bir dizi yelem var. Biri bana bu konuda yardım edecek mi?
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır