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

Bagaimana cara cepat mengekstrak alamat email dari string teks?

Saat Anda mengimpor beberapa alamat email dari lembar kerja Situs web ke Excel, selalu ada teks yang tidak relevan, tetapi sekarang Anda hanya ingin mengekstrak alamat email murni dari string teks (lihat tangkapan layar berikut). Bagaimana Anda bisa dengan cepat hanya mendapatkan alamat email dari teks seluler?

doc-extract-email1 -2 doc-extract-email2

Ekstrak alamat email dari string teks dengan Formula

Ekstrak alamat email dari string teks dengan User Defined Function

Ekstrak alamat email dari string teks dengan kode VBA

Ekstrak alamat email dari string teks dengan Kutools for Excel


panah gelembung kanan biru Ekstrak alamat email dari string teks dengan Formula

Di sini saya perkenalkan Anda rumus panjang untuk mengekstrak hanya alamat email dari teks di Excel. Harap lakukan sebagai berikut:

1. Di sel B1 yang berdekatan, masukkan rumus ini = PANGKAS (KANAN (PENGGANTI (KIRI (A1, TEMUKAN ("", A1 & "", TEMUKAN ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).

doc-extract-email3

2. Lalu tekan Enter kunci, lalu pilih sel B1, dan seret gagang isian ke rentang yang Anda inginkan untuk memuat rumus ini. Dan alamat email dalam rentang tersebut telah diekstrak dari string teks. Lihat tangkapan layar:

doc-extract-email4

Catatan:

1. Tanda baca setelah alamat email juga akan diambil.

2. Jika sel tidak berisi alamat email, rumus akan menampilkan nilai kesalahan.

3. Jika ada lebih dari satu alamat email dalam satu sel, rumus hanya akan mengekstrak alamat pertama.


Ekstrak Beberapa Alamat Email dari string teks

Kutools untuk Excel'S Ekstrak Alamat Email dapat membantu Anda mengekstrak alamat email dari string teks dengan cepat dan nyaman. Klik untuk mengunduh Kutools for Excel!

doc ekstrak email-1

Kutools untuk Excel: dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari. Unduh dan uji coba gratis Sekarang!


panah gelembung kanan biru Ekstrak alamat email dari string teks dengan User Defined Function

Selain rumus di atas, User Defined Function juga dapat membantu Anda mendapatkan alamat email dari string teks.

1. Tahan ALT + F11 kunci, dan itu membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. Klik Menyisipkan > Modul, dan tempelkan makro berikut di jendela modul.

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. Kemudian simpan kodenya dan masukkan rumusnya = ExtractEmailFun (A1) di sel kosong yang berdekatan, lihat tangkapan layar:

doc-extract-email5

4. Lalu tekan Enter kunci, pilih sel B1, dan seret gagang isian ke kisaran yang Anda perlukan rumusnya. Dan semua alamat email telah diekstrak dari teks sel. Lihat tangkapan layar:

doc-extract-email6

Catatan:

1. Jika sel tidak memiliki alamat email, ini akan mengungkapkan sel kosong.

2. Jika ada lebih dari satu alamat email dalam satu sel, semua email akan diekstrak.


panah gelembung kanan biru Ekstrak alamat email dari string teks dengan kode VBA

Jika Anda merasa rumus di atas merepotkan Anda, kode VBA berikut ini bisa membantu Anda mengekstrak alamat email sekaligus.

1. Tahan ALT + F11 kunci, dan itu membuka a Microsoft Visual Basic untuk Aplikasi jendela.

2. Klik Menyisipkan > Modul, dan tempelkan makro berikut di file Jendela modul.

VBA: ekstrak alamat email dari string teks

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. Lalu tekan F5 kunci untuk menjalankan kode ini, dan Anda harus memilih rentang yang ingin Anda gunakan VBA di dialog yang muncul, lihat tangkapan layar:

doc-extract-email7

4. Lalu klik OK, dan alamat email telah diekstrak dari string teks yang dipilih. Lihat tangkapan layar:

doc-extract-email8 -2 doc-extract-email9

Catatan:

1. Jika sel tidak memiliki alamat email, itu akan mengungkapkan sel kosong.

2. Semua email akan diekstrak, jika ada lebih dari satu alamat email dalam satu sel.

3. Email yang diekstrak akan menutupi data asli, jadi sebaiknya backup data terlebih dahulu jika perlu.


panah gelembung kanan biru Ekstrak alamat email dari string teks dengan Kutools for Excel dengan satu klik

Metode di atas terlihat agak rumit untuk pemula Excel kami, di sini, saya dapat merekomendasikan Anda alat yang cepat dan mudah- Kutools untuk Excel, Dengan yang Ekstrak Alamat Email utilitas, Anda dapat mengekstrak alamat email dari string teks tanpa banyak usaha.

Kutools untuk Excel : dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari.

Jika sudah terpasang Kutools untuk Excel, lakukan hal berikut:

1. Pilih sel yang berisi string teks.

2. Klik Kutools > Teks > Ekstrak Alamat Email, lihat tangkapan layar:

3. Dan a Ekstrak Alamat Email kotak dialog akan muncul, pilih sel tempat Anda ingin meletakkan hasilnya, lihat tangkapan layar:

doc-extract-email9

4. Lalu klik OK tombol, semua alamat email telah diekstrak dari string teks, lihat tangkapan layar:

doc-extract-email9

Klik untuk Mengunduh dan uji coba gratis Kutools for Excel Sekarang!


panah gelembung kanan biru Demo: Ekstrak alamat email dari string teks dengan Kutools for Excel

Kutools untuk Excel: dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari. Unduh dan uji coba gratis Sekarang!

Artikel terkait:

Bagaimana cara mengekstrak domain dari beberapa alamat email di Excel?


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (40)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
LUL GUNAKAN KODE INI UNTUK EKSTRAK EMAIL. Sub lula() Dim d1 As Variant cntr = 0 rowstring = ActiveCell.Offset(0, 0).Nilai d1 = Split(rowstring, " ") Lakukan 'MsgBox d1(cntr) cntr = cntr + 1 If d1(cntr) = "" Kemudian GoTo ttt If InStr(d1(cntr), "@") Kemudian MsgBox d1(cntr) GoTo ttt End If Loop While d1(cntr) "" ttt: End Sub
Komentar ini diminimalkan oleh moderator di situs
sangat membantu, terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk rumus ini! Anda baru saja menyelamatkan saya banyak pekerjaan - harus mengekstrak 1500 email dari lembar Excel yang ditulis dengan buruk untuk daftar pemasaran email. Setelah saya akhirnya menemukan formula Anda, itu sangat mudah.
Komentar ini diminimalkan oleh moderator di situs
Kode yang bagus! Sangat berguna. Sayangnya itu menggabungkan beberapa alamat email daripada memisahkannya secara berguna, misalnya dengan titik koma. Bagaimana Anda menambahkan pemisah?
Komentar ini diminimalkan oleh moderator di situs
tidak ada VBA hanya rumus yang akan ditempelkan ke sel Ubah saja referensi ( contoh di bawah ini terlihat di Sel A1) =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT( " ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1) )
Komentar ini diminimalkan oleh moderator di situs
[quote]... =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," ",REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@",A1))Oleh saya[/quote] Terima kasih "ME", bekerja kata demi kata di spreadsheet Google!
Komentar ini diminimalkan oleh moderator di situs
[quote]tidak ada VBA hanya rumus yang akan ditempelkan ke sel Ubah saja referensi ( contoh di bawah ini terlihat di Sel A1) =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND("@",A1)-1)," " ,REPT(" ",99)),99))&MID(A1,FIND("@",A1),FIND(" ",A1&" ",FIND("@",A1))-FIND("@" ,A1))Oleh saya[/kutipan] Terima kasih. Itu berhasil untuk saya.
Komentar ini diminimalkan oleh moderator di situs
Luar biasa! Salam hangat untuk skrip VBS! TERIMA KASIH!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak, ini sangat berguna!
Komentar ini diminimalkan oleh moderator di situs
Ini bagus, tapi sekarang saya punya masalah. Ada spasi alih-alih titik di antara semua alamat email (yaitu abcd@aol com), jadi rumusnya tidak memasukkan akhir semua alamat email (.net, .com, dll.) ke dalam kolom baru. Bagaimana saya bisa memperbaikinya?
Komentar ini diminimalkan oleh moderator di situs
Halo semua, saya juga sedang mencari cara untuk memisahkan alamat email, jadi saya bisa memasukkannya ke Outlook. Saya telah menambahkan pemisah "; " di antara alamat email agar tidak berjalan bersamaan. Biarkan aku tahu apa yang Anda pikirkan. Terima kasih kepada penulis asli untuk mendapatkan ini bersama-sama! Fungsi ExtractEmailFun(extractStr As String) As String' Update 20150723 Redupkan CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" Index = 1 Do While True Index1 = VBA. InStr(Index, extractStr, "@") getStr = "" If Index1 > 0 Kemudian Untuk p = Index1 - 1 Ke 1 Langkah -1 Jika Mid(extractStr, p, 1) Suka CheckStr Kemudian getStr = Mid(extractStr, p, 1) & getStr Lain Keluar Untuk Akhir Jika Selanjutnya getStr = getStr & "@" Untuk p = Index1 + 1 Untuk Len(extractStr) Jika Mid(extractStr, p, 1) Suka CheckStr Kemudian getStr = getStr & Mid(extractStr, p, 1) Else getStr = getStr Exit For End If Next Index = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Kemudian ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If Fungsi Ujung Lingkaran
Komentar ini diminimalkan oleh moderator di situs
Terima kasih kepada penulis naskah asli; Saya melanjutkan dan menambahkan pemisah "; " di antara beberapa alamat email. Fungsi ExtractEmailFun(extractStr As String) As String' Update 20150723 Redupkan CharList As String On Error Resume Next CheckStr = "[A-Za-z0-9._-]" ExtractEmailFun = "" Index = 1 Do While True Index1 = VBA. InStr(Index, extractStr, "@") getStr = "" If Index1 > 0 Kemudian Untuk p = Index1 - 1 Ke 1 Langkah -1 Jika Mid(extractStr, p, 1) Suka CheckStr Kemudian getStr = Mid(extractStr, p, 1) & getStr Lain Keluar Untuk Akhir Jika Selanjutnya getStr = getStr & "@" Untuk p = Index1 + 1 Untuk Len(extractStr) Jika Mid(extractStr, p, 1) Suka CheckStr Kemudian getStr = getStr & Mid(extractStr, p, 1) Else getStr = getStr Exit For End If Next Index = Index1 + 1 getStr = getStr & "; " If ExtractEmailFun = "" Kemudian ExtractEmailFun = getStr Else ExtractEmailFun = ExtractEmailFun & Chr(10) & getStr End If Else Exit Do End If Fungsi Ujung Lingkaran
Komentar ini diminimalkan oleh moderator di situs
Ini bagus! terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Saudaraku, Anda benar-benar jenius. Rumus di bawah ini berfungsi untuk saya dan menyimpan intervensi manual yang biasanya memakan waktu berjam-jam =TRIM(RIGHT(SUBSTITUTE(LEFT(H2,FIND (" ",H2&" ",FIND("@",H2))-1)," ", REPT(" ",LEN(H2))),LEN(H2))) Tuhan Memberkati
Komentar ini diminimalkan oleh moderator di situs
saya butuh informasi lebih lanjut cara mengekstrak email
Komentar ini diminimalkan oleh moderator di situs
Dear Sir, Bagaimana cara mengekstrak id email yang benar dari contoh daftar email saya di bawah ini a.hamilton@tradsingapore.com.sg aarabest@emirates.com.net.ae admin@countrywide.com.my
Komentar ini diminimalkan oleh moderator di situs
karena formulanya sangat membantu saya, saya pikir saya akan membagikan pengalaman saya. Saya menjalankannya terhadap daftar webscrape html yang terkadang sangat panjang sehingga rumusnya salah. Menurut wikipedia panjang maksimum alamat email adalah 254 karakter jadi mengganti bagian len(A1) dengan 256 akan meningkatkan stabilitas fungsi: =TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ", TEMUKAN("@",A1))-1)," ", REPT(" ",256)),256))
Komentar ini diminimalkan oleh moderator di situs
Luar biasa, luar biasa. setiap orang harus menggunakan..
Komentar ini diminimalkan oleh moderator di situs
Jika saya ingin mengekstrak hanya satu alamat email dari A1, rumus ini melakukannya dan hanya melaporkan kosong, bukan kesalahan, jika A1 tidak berisi alamat email. Saya menemukan ini solusi yang lebih mudah daripada mencoba menguasai semua skrip ini, dan tidak ada biaya. =IFERROR(TRIM(KANAN(GANTI(KIRI(A1,TEMUKAN(" ",A1&" ",TEMUKAN("@",A1))-1)," ",REPT(" ",LEN(A1))), LEN(A1))),"")
Komentar ini diminimalkan oleh moderator di situs
Sangat membantu. Terima kasih banyak!!
Komentar ini diminimalkan oleh moderator di situs
Infonya keren! terima kasih
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakan Excel 2007 di HP. Jika Anda memiliki Melanie Brown di A1 dan ingin membaca Melanie.Brown@gmail.com di sel yang sama, bagaimana Anda melakukannya? Saya memiliki serangkaian surai untuk melakukan hal yang sama. Akankah seseorang membantu saya dengan ini?
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL