¿Qué fórmula extrae el nombre de dominio de una dirección de correo electrónico (bob@example.com -> example.com)?


8

¿Qué fórmula de Google Spreadsheets utilizo para obtener la parte del dominio de una dirección de correo electrónico?

Ejemplo: bob@example.comexample.com

Respuestas:


4

Usaría la siguiente fórmula para obtener una URL.

Fórmula

=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")))

Explicado

A1está validado para ser una dirección de correo electrónico. Si TRUE, entonces usa la REGEXEXTRACTfórmula que construiste. Si la dirección de correo electrónico no es una dirección válida, valide para una URL. Si la URL no es una URL válida, compruebe si REGEXes una URL válida. Mostrar texto Ninguna entrada válida es ninguna de las IFdeclaraciones son verdaderas.

Captura de pantalla

ingrese la descripción de la imagen aquí

Ejemplo

He creado un archivo de ejemplo para usted: obtenga el dominio de la dirección de correo electrónico


1
Si desea ambos (o no le importa tener ambos), =split(A2, "@")en A3 pondría boben A3 y example.comen A4. Un poco más conciso.
Wayne Werner

7

Esta fórmula hará el trabajo:

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

Si no @se encuentra, se muestra el valor original.

La =regexextractfunción ( documentación ) ejecuta el parámetro de expresión regular ( @(.*)) contra el valor de la celda A1y devuelve el grupo correspondiente.


1
No soy un experto en REGEX (@Vidar es ...), pero (.*)es demasiado genérico. Por cierto, si no se encuentra ninguna coincidencia, arrojará un error.
Jacob Jan Tuinstra

¿Por qué es (.*)demasiado genérico? ¿No quieres todo después del @?
Holloway

@Trengot Estaba pensando en algo en línea"@([A-Za-z0-9-.]+)")
Jacob Jan Tuinstra el


1
@JacobJanTuinstra Esa expresión regular no funcionará con todos los nombres de dominio, solo los ASCII. Los nombres de dominio pueden tener caracteres Unicode, por ejemplo, 㯙 㯜 㯙 㯟 .net

3

Si su dirección de correo electrónico (bob@example.com) está en A1

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

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

Está dividiendo en la @ y luego usando el índice para seleccionar qué columna desea de la división.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.