Заказать макрос
Разрабатываем макросы на заказ. Любой сложности. Быстро и качественно.
Подробнее...

Как извлечь домен из ссылки в Excel

В этой статье расскажем, как можно получить название домена из ссылки в Excel. Рассмотрим стандартный функционал Excel, а также решение с помощью макросов.

С помощью формулы в Excel

Разберем реализацию с помощью базовых возможностей Excel. Для этого нам потребуется немного громоздкая формула:

=ПОДСТАВИТЬ(
    ПСТР(
        A1; 
        ЕСЛИОШИБКА(НАЙТИ("//";A1)+2;1); 
        ЕСЛИОШИБКА(НАЙТИ("/";A1;ЕСЛИОШИБКА(НАЙТИ("//";A1)+2;1))-ЕСЛИОШИБКА(НАЙТИ("//";A1)+2;1);ДЛСТР(A1)));
  "www.";"")

Для англоязычной версии:

=SUBSTITUTE(MID(A1,
IFERROR(FIND("//",A1)+2,1),
IFERROR(FIND("/",A1,IFERROR(FIND("//",A1)+2,1))-IFERROR(FIND("//",A1)+2,1),LEN(A1))),
"www.","")

Не буду подробно расписывать, что делает каждая часть этой формулы в отдельности. Если необходимо - напишите в комментариях.

Если кратко, то цель формулы найти позицию до названия домена (до символов "//") и позицию следующего за именем домена первого слеша (символа "/"). После вернуть нам текст, который расположен между этими индексами. После того как домен найден из него можно удалить символы "www." функцией ПОДСТАВИТЬ.

Формула для определения домена в Excel

С помощью функции из надстройки

Конечно, запомнить формулу выше проблематично, да и воспроизвести логику сходу может не получиться. Было бы удобнее, если бы она была под рукой и не в таком громоздком виде а понятной человеку.

Для этого мы добавили такую функцию в нашу надстройку и выглядит она следующим образом:

=ДОМЕН(URL)

  • URL -  ссылка на страницу. Вы также можете указать ячейку, в которой находится url страницы.

Скачать надстройку Вы можете нажав на кнопку в начале или в конце этой страницы.

Пример использования

Функция ДОМЕН из надстройки VBA-Excel

Код на VBA

Если вы знакомы с макросами, то можете использовать данный код, чтобы встроить его в свой проект. Выглядит он намного понятнее чем формула в Excel.

Public Function ДОМЕН(URL As String) As String
    Dim pos As Long   

    URL = Replace(URL, "www.", "")
    URL = Replace(URL, "https://", "")
    URL = Replace(URL, "http://", "")
    
    pos = InStr(1, URL, "/")
    If pos > 0 Then
        ДОМЕН = Left(URL, pos - 1)
    Else
        ДОМЕН = URL
    End If
End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.

Комментарии:

comments powered by Disqus