Formula mana yang mengekstrak nama domain dari alamat email ([email protected] -> example.com)?

Jawaban:

4

Saya akan menggunakan rumus berikut untuk mendapatkan URL.

Rumus

=IF(ISEMAIL(A2),
   REGEXEXTRACT(A2,"@(.+)"),
   IF(ISURL(A2),
     A2,
     IF(ISURL(REGEXEXTRACT(A2,"@(.+)")),
       REGEXEXTRACT(A2,"@(.+)"),
       "No valid entry"
     )
   )
 )

 Copy / Paste 
 =IF(ISEMAIL(A2),REGEXEXTRACT(A2,"@(.+)"),IF(ISURL(A2),A2,IF(ISURL(REGEXEXTRACT(A2,"@(.+)")),REGEXEXTRACT(A2,"@(.+)"),"No valid entry")))

Dijelaskan

A1divalidasi sebagai alamat email. Jika TRUE, gunakan REGEXEXTRACTrumus yang Anda buat. Jika alamat email ternyata bukan alamat yang valid, maka validasi untuk URL. Jika URL tersebut ternyata bukan URL yang valid, maka periksa apakah itu REGEXadalah URL yang valid. Tampilkan teks Tidak ada entri yang valid tidak ada IFpernyataan yang benar.

Tangkapan layar

masukkan deskripsi gambar di sini

Contoh

Saya telah membuat contoh file untuk Anda: Dapatkan domain dari alamat email

Jacob Jan Tuinstra
sumber
1
Jika Anda ingin keduanya (atau tidak keberatan memiliki keduanya), =split(A2, "@")dalam A3 akan dimasukkan bobke A3 dan example.comA4. Sedikit lebih ringkas.
Wayne Werner
7

Formula ini akan melakukan pekerjaan:

=regexextract(A1;"@(.*)")

Jika tidak @ditemukan, nilai asli ditampilkan.

The =regexextractfunction ( dokumentasi ) mengeksekusi ekspresi reguler parameter ( @(.*)) terhadap nilai sel A1, dan mengembalikan kelompok yang cocok.

nic
sumber
1
Saya bukan ahli REGEX (@Vidar adalah ....), tetapi (.*)terlalu umum. Btw, jika tidak ditemukan kecocokan, itu akan menimbulkan kesalahan.
Jacob Jan Tuinstra
Kenapa (.*)terlalu generik? Apakah Anda tidak ingin semuanya setelah @?
Holloway
@ Trengot Saya sedang memikirkan sesuatu yang sejalan"@([A-Za-z0-9-.]+)")
Jacob Jan Tuinstra
@ Trengot See stackoverflow.com/a/7111947/1536038
Jacob Jan Tuinstra
1
@JacobJanTuinstra Regex itu tidak akan berfungsi dengan semua nama domain, hanya yang ASCII. Nama domain dapat memiliki karakter Unicode di dalamnya, mis. 㯙 㯜 㯙 㯟 .net
3

Jika alamat email Anda ([email protected]) ada di A1

=index(split(A1,"@"),0,2) = example.com

=index(split(A1,"@"),0,1) = bob

Anda membagi @ dan daripada menggunakan indeks untuk memilih kolom mana yang Anda inginkan dari pemisahan.

ITechGeek
sumber