Страницы: 1
RSS
Как корректно извлечь домен второго уровня
 
Всем привет!
Столкнулся с проблемой громоздкости новосозданной формулы (точнее я её ещё пишу)
Проблема:
Есть куча сайтов записанных в любом из следующих форматов:
http://moysait.ru или moysait.ru или http://moysait.com или http://haha.moysait.ru или haha.moysait.ru или...
при этом надо вытащить только домен второго уровня
при этом все домены разные.
начал ваять формулу ... =ЛЕВСИМВ(ПРОПНАЧ(ПРАВСИМВ(O2;ДЛСТР(O2)-(ПОИСК(":";O2)+2)));ПОИСК(".";O2)) - это первая часть, в ней я удаляю http или https
вторая часть должна была удалить окончание .ru или .com или ... но столкнулся с проблемой, что:
1. придётся повторить первую часть внутри второй
2. что делать с доменами 3 и 4 уровня, как их удалить?
3. надо всё это разместить внутри одной ячейки

Если есть идеи, то буду признателен :)
 
Не очень секу в доменах, но, поскольку адрес разделяется точками, может можно посчитать их количество в адресе, и исходя из этого делать выводы о наличии в адресе уровней, а уж потом, исходя из полученных данных задавать, что резать, а что оставлять. Типа, если точек больше 3 то резать всю строку до первой точки и после третьей.
Кому решение нужно - тот пример и рисует.
 
Цитата
Пытливый написал: то резать всю строку до первой точки и после третьей
Вы натолкнули меня на мысль, что можно резать с конца первую точку, а потом искать с конца ещё одну точку или двоеточие...
сейчас попробую :)
 
встроенными функциями лень.
udf
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki написал:
встроенными функциями лень
:) благодарю.
Фишка в том, что эта функция работает в общей книге, а книга доступна пользователям у которых на рабочих станциях запрещены макросы :)
поэтому пишу туда только функции :)
 
тогда так
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР("."&ПОДСТАВИТЬ(A1;".";ПОВТОР(".";99));1;99*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;".";))));99);".";"");"http://";"")

за основу взята формула отсюда: http://www.excel-vba.ru/chto-umeet-excel/kak-poluchit-slovo-posle-poslednego-probela/
Изменено: ikki - 13.07.2015 14:35:42
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki написал:
тогда так
Класс! У меня получилась длиннее. Благодарю!!
Страницы: 1
Читают тему
Наверх