Formula Excel: Obțineți domeniul de nivel superior (TLD) -

Cuprins

Formula generică

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

rezumat

Pentru a extrage domeniul de nivel superior (TLD) (adică „com”, „net”, „org”) dintr-un nume de domeniu sau o adresă de e-mail, puteți utiliza o formulă bazată pe mai multe funcții de text: MID, RIGHT, FIND, LEN, și SUBSTITUT. În exemplul prezentat, formula din celula C5 este:

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

Notă: În forma generică a formulei „domeniu” reprezintă un domeniu sau o adresă de e-mail precum „www.domain.com”.

Explicaţie

În exemplu, celula C5 conține această formulă:

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

La bază, această formulă folosește funcția DREAPTA pentru a extrage caractere începând din dreapta. Celelalte funcții din această formulă fac doar un lucru: își dau seama câte caractere trebuie extrase, n:

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

La un nivel ridicat, formula înlocuiește ultimul punct „.” în domeniul cu un asterisc (*) și apoi folosește funcția FIND pentru a localiza poziția asteriscului. Odată ce poziția este cunoscută, funcția DREAPTA poate extrage TLD.

Cum știe formula să înlocuiască doar ultimul punct? Aceasta este partea inteligentă. Cheia este aici:

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

Acest fragment face înlocuirea efectivă a ultimului punct cu un asterisc (*).

Trucul este că funcția SUBSTITUTE are un al patrulea argument opțional care specifică care „instanță” a textului de căutare ar trebui înlocuită. Dacă nu este furnizat nimic, toate instanțele sunt înlocuite. Cu toate acestea, dacă, să spunem că numărul 2 este furnizat, doar a doua instanță este înlocuită.

Pentru a afla ce instanță de înlocuit, funcția LEN este utilizată:

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

Lungimea domeniului fără puncte este scăzută din lungimea completă a domeniului. Rezultatul este numărul de puncte din domeniu.

În numele de exemplu din B5, există două puncte în domeniu, astfel încât numărul 2 este utilizat ca în numărul instanței:

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

Aceasta înlocuiește doar al doilea punct cu „*”. Numele arată astfel:

„www.domain * com”

Funcția FIND preia apoi rolul pentru a afla exact unde este asteriscul în text:

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

Rezultatul este 11 (* este în poziția a 11-a) care se scade din lungimea totală a domeniului:

LEN(B5)-11

Deoarece numele este de 15 caractere, avem:

14-11 = 3

În cele din urmă, numărul 3 este folosit de DREAPTA astfel:

=RIGHT(B5,3)

Care are ca rezultat „com”

Articole interesante...