Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2016, 18:26   #1
Akom
 
Регистрация: 23.07.2012
Сообщений: 4
По умолчанию Найти трехсимвольные домены в списке сайтов

Среди списка сайтов нужно найти трехсимвольные, вида aaa.ru
при этом в столбце A могут быть данные без точки

Алгоритм:
Если в тексте есть точка, Если перед точкой не более трех символов, Если после точки не более трех символов, Если общее количество символов не больше 7, то выводим значение из столбца A

Если условиям не отвечает то выводим 0

Посоветовали формулу =ЕСЛИ(И(ПОИСК(".";A1)<=4;ДЛСТР(A1)< =7);A1;"0")
но она не отвечает условию "Если после точки не более трех символов"
и выводит ошибку если в тексте нет точки.

Файл креплю.

Буду благодарен за помощь
Вложения
Тип файла: xlsx Пример.xlsx (9.2 Кб, 9 просмотров)
Akom вне форума Ответить с цитированием
Старый 28.12.2016, 19:09   #2
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

что-то смотрю на формулу, не нравится как написал... ну, как вариант
=ЕСЛИ(ЕОШИБКА(ПОИСК(".";A11;1));;ЕС ЛИ((ПОИСК(".";A11)<=4)*(ДЛСТР(A11)< =7)*((ДЛСТР(A11)-ПОИСК(".";A11))<=3);A11;0))
peq вне форума Ответить с цитированием
Старый 28.12.2016, 19:35   #3
Akom
 
Регистрация: 23.07.2012
Сообщений: 4
По умолчанию

Что-то не так. В строке 2 должно было вывести значение
http://www.screencast.com/t/xzThQyBLYKji
Akom вне форума Ответить с цитированием
Старый 28.12.2016, 19:46   #4
Akom
 
Регистрация: 23.07.2012
Сообщений: 4
По умолчанию

вот так получилось
=ЕСЛИ(ЕОШИБКА(ПОИСК(".";A1;1));;ЕСЛ И((ПОИСК(".";A1)<=4)*(ДЛСТР(A1)<=7) *((ДЛСТР(A1)-ПОИСК(".";A1))<=3);A1;0))

спасибо
Akom вне форума Ответить с цитированием
Старый 31.12.2016, 20:18   #5
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Если я правильно понял поставленную задачу, то ещё вариант :

Код:
=ЕСЛИ(СУММ(СЧЁТЕСЛИ(A1;{"???.??";"???.???"}));A1;0)
Код:
=ЕСЛИ(СЧЁТЕСЛИ(A1;"???.*");ЕСЛИ(ДЛСТР(A1)<8;A1;0);0)
pashulka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти сумму чисел которые делятся на 3 на паскале в списке и занести значение в файл Вячик Помощь студентам 0 27.11.2016 13:12
найти в односвязном списке количество элементов vova_makr Помощь студентам 6 24.10.2015 16:51
Найти позицию кратчайшей последовательность в списке A в котором встречаются все значения из списка B. xaoc2 Свободное общение 1 12.06.2011 23:26