Формула на Excel: Вземете домейн от най-високо ниво (TLD) -

Съдържание

Обща формула

=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"

Интересни статии...