Formula mana yang mengekstrak nama domain dari alamat email (bob@example.com -> example.com)?


8

Rumus Google Spreadsheets mana yang saya gunakan untuk mendapatkan bagian domain dari alamat email?

Contoh: bob@example.comexample.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


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.


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


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 (bob@example.com) 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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.