¿Qué fórmula extrae el nombre de dominio de una dirección de correo electrónico ([email protected] -> example.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

Jacob Jan Tuinstra
fuente
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.

nic
fuente
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
@Trengot Ver stackoverflow.com/a/7111947/1536038
Jacob Jan Tuinstra
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 ([email protected]) 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.

ITechGeek
fuente