![](https://cdn.wiki-base.com/2435764/excel_formula_get_top_level_domain_tld__2.png.webp)
Обща формула
=RIGHT(domain,LEN(domain)-FIND("*",SUBSTITUTE(domain,".","*",LEN(domain)-LEN(SUBSTITUTE(domain,".","")))))
Обобщение
За да извлечете домейна от първо ниво (TLD) (т.е. "com", "net", "org") от име на домейн или имейл адрес, можете да използвате формула, базирана на няколко текстови функции: MID, RIGHT, FIND, LEN и ЗАМЕСТИТЕЛ. В показания пример формулата в клетка C5 е:
=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))
Забележка: В общата форма на формулата "домейн" представлява домейн или имейл адрес като "www.domain.com".
Обяснение
В примера клетка C5 съдържа тази формула:
=RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))))
В основата си тази формула използва функцията НАДЯСНО за извличане на символи, започващи отдясно. Останалите функции в тази формула правят само едно: те изчисляват колко символа трябва да бъдат извлечени, n:
=RIGHT(B5,n) // n = ??
На високо ниво формулата замества последната точка "." в домейна със звездичка (*) и след това използва функцията FIND за намиране на позицията на звездичката. След като позицията е известна, функцията НАДЯСНО може да извлече TLD.
Как формулата знае, че замества само последната точка? Това е умната част. Ключът е тук:
SUBSTITUTE(B5,".","*",LEN(B5)-LEN(SUBSTITUTE(B5,".","")))
Този фрагмент прави действителната подмяна на последната точка със звездичка (*).
Номерът е, че функцията SUBSTITUTE има незадължителен четвърти аргумент, който определя кой "екземпляр" на текста за намиране трябва да бъде заменен. Ако нищо не е предоставено, всички екземпляри се заменят. Ако обаче, да речем, че числото 2 е предоставено, се заменя само втората инстанция.
За да разберете кой екземпляр да замените, се използва функцията LEN:
LEN(B5)-LEN(SUBSTITUTE(B5,".",""))
Дължината на домейна без точки се изважда от пълната дължина на домейна. Резултатът е броят на точките в домейна.
В примерното име в B5 има две точки в домейна, така че числото 2 се използва както в номера на екземпляра:
SUBSTITUTE(B5," ","*",2)
Това заменя само втората точка с "*". Тогава името изглежда така:
„www.domain * com“
След това функцията FIND поема, за да разбере къде точно е звездичката в текста:
FIND("*", "www.domain*com")
Резултатът е 11 (* е на 11-то място), което се изважда от общата дължина на домейна:
LEN(B5)-11
Тъй като името е 15 знака, имаме:
14-11 = 3
И накрая, числото 3 се използва НАДЯСНО така:
=RIGHT(B5,3)
Което води до "com"