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?
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))).
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:
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!
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!
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:
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:
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.
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:
4. Sonra tıklayın OKve e-posta adresleri seçilen metin dizelerinden çıkarılmıştır. Ekran görüntülerine bakın:
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.
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:
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:
Kutools for Excel'i şimdi ücretsiz olarak indirip deneme için tıklayın!
Demo: Kutools for Excel ile metin dizesinden e-posta adresini çıkarın
İlgili makale:
Excel'de birden çok e-posta adresinden etki alanları nasıl çıkarılır?
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
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!