Формула Excel: Отримати домен верхнього рівня (TLD) -

Зміст

Загальна формула

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

Резюме

Щоб витягти домен верхнього рівня (TLD) (тобто "com", "net", "org") з доменного імені або адреси електронної пошти, ви можете використовувати формулу, засновану на декількох текстових функціях: MID, RIGHT, FIND, LEN, та ЗАМІНИ. У наведеному прикладі формула в комірці С5 має вигляд:

=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, щоб знайти позицію зірочки. Як тільки позиція відома, функція RIGHT може витягти 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"

Цікаві статті...