Fórmula de Excel: Obtener dominio de nivel superior (TLD) -

Tabla de contenido

Fórmula genérica

=RIGHT(domain,LEN(domain)-FIND("*",SUBSTITUTE(domain,".","*",LEN(domain)-LEN(SUBSTITUTE(domain,".","")))))

Resumen

Para extraer el dominio de nivel superior (TLD) (es decir, "com", "net", "org") de un nombre de dominio o dirección de correo electrónico, puede utilizar una fórmula basada en varias funciones de texto: MID, RIGHT, FIND, LEN, y SUSTITUIR. En el ejemplo que se muestra, la fórmula en la celda C5 es:

=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))

Nota: En la forma genérica de la fórmula, "dominio" representa un dominio o dirección de correo electrónico como "www.domain.com".

Explicación

En el ejemplo, la celda C5 contiene esta fórmula:

=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))

Básicamente, esta fórmula utiliza la función DERECHA para extraer caracteres comenzando por la derecha. Las otras funciones en esta fórmula solo hacen una cosa: calculan cuántos caracteres se deben extraer, n:

=RIGHT(B5,n) // n = ??

En un nivel alto, la fórmula reemplaza el último punto "." en el dominio con un asterisco (*) y luego usa la función BUSCAR para ubicar la posición del asterisco. Una vez que se conoce la posición, la función DERECHA puede extraer el TLD.

¿Cómo sabe la fórmula reemplazar solo el último punto? Ésta es la parte inteligente. La clave está aquí:

SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))

Este fragmento reemplaza el último punto con un asterisco (*).

El truco es que la función SUSTITUIR tiene un cuarto argumento opcional que especifica qué "instancia" del texto de búsqueda debe reemplazarse. Si no se proporciona nada, se reemplazan todas las instancias. Sin embargo, si, digamos, se proporciona el número 2, solo se reemplaza la segunda instancia.

Para averiguar qué instancia reemplazar, se usa la función LEN:

LEN(B5)-LEN(SUBSTITUTE(B5,".",""))

La longitud del dominio sin puntos se resta de la longitud total del dominio. El resultado es el número de puntos en el dominio.

En el nombre de ejemplo en B5, hay dos puntos en el dominio, por lo que el número 2 se usa como en el número de instancia:

SUBSTITUTE(B5," ","*",2)

Esto reemplaza solo el segundo punto con "*". El nombre entonces se ve así:

"www.dominio * com"

Luego, la función ENCONTRAR se encarga de averiguar exactamente dónde está el asterisco en el texto:

FIND("*", "www.domain*com")

El resultado es 11 (el * está en la undécima posición) que se resta de la longitud total del dominio:

LEN(B5)-11

Como el nombre tiene 15 caracteres, tenemos:

14-11 = 3

Finalmente, el número 3 es usado por DERECHA así:

=RIGHT(B5,3)

Lo que da como resultado "com"

Articulos interesantes...