Excel-formel: Hent topdomæne (TLD) -

Indholdsfortegnelse

Generisk formel

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

Resumé

For at udtrække topdomænet (TLD) (dvs. "com", "net", "org") fra et domænenavn eller e-mail-adresse kan du bruge en formel baseret på flere tekstfunktioner: MID, HØJRE, FIND, LEN, og erstatning. I det viste eksempel er formlen i celle C5:

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

Bemærk: I den generiske form af formlen repræsenterer "domæne" et domæne eller e-mail-adresse som "www.domæne.com".

Forklaring

I eksemplet indeholder celle C5 denne formel:

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

I kernen bruger denne formel RIGHT-funktionen til at udtrække tegn, der starter fra højre. De andre funktioner i denne formel gør bare en ting: de finder ud af, hvor mange tegn der skal ekstraheres, n:

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

På et højt niveau erstatter formlen den sidste prik "." i domænet med en stjerne (*) og bruger derefter FIND-funktionen til at finde stjernens position. Når positionen er kendt, kan RIGHT-funktionen udtrække TLD.

Hvordan ved formlen kun at erstatte den sidste prik? Dette er den kloge del. Nøglen er her:

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

Dette uddrag udskifter den sidste prik med en stjerne (*).

Tricket er, at SUBSTITUTE-funktionen har et valgfrit fjerde argument, der specificerer, hvilken "instans" af findteksten, der skal erstattes. Hvis der ikke leveres noget, udskiftes alle forekomster. Imidlertid, hvis vi siger, nr. 2 er leveret, erstattes kun den anden forekomst.

For at finde ud af, hvilken instans der skal udskiftes, bruges LEN-funktionen:

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

Længden af ​​domænet uden prikker trækkes fra domænets fulde længde. Resultatet er antallet af prikker i domænet.

I eksempelnavnet i B5 er der to prikker i domænet, så tallet 2 bruges som i forekomstnummeret:

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

Dette erstatter kun anden prik med "*". Navnet ser derefter sådan ud:

"www.domæne * com"

FIND-funktionen overtager derefter for at finde ud af nøjagtigt, hvor stjernen er i teksten:

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

Resultatet er 11 (* er i 11. position), der trækkes fra den samlede længde af domænet:

LEN(B5)-11

Da navnet er 15 tegn, har vi:

14-11 = 3

Endelig bruges tallet 3 af RIGHT som sådan:

=RIGHT(B5,3)

Hvilket resulterer i "com"

Interessante artikler...