![](https://cdn.wiki-base.com/2435764/excel_formula_get_top_level_domain_tld__2.png.webp)
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"