Страницы: 1
RSS
Проверка наличия определенного текста.
 
Помогите пожалуйста. Такая задача. Есть таблица "1" с адресами (пример: Г.САНКТ-ПЕТЕРБУРГ,ВЫБОРГСКИЙ,АСАФЬЕВА УЛ.,100,...). В другой таблице, таблице "2", есть нужные мне адреса (пример: АСАФЬЕВА УЛ.,100,). Нужно в таблице "1" отметить цветом ячейки в которых нет адресов из таблицы "2". Ну или наоборот, в которых есть. Какие есть решения этой задачи?
 
{quote}{login=Maxometr}{date=10.07.2012 01:36}{thema=Проверка наличия определенного текста.}{post}Какие есть решения этой задачи?{/post}{/quote} Первое решение - внимательно прочесть правила форума.  
Там немного, но полезно.   
 
http://www.planetaexcel.ru/forum.php?thread_id=8735
Я сам - дурнее всякого примера! ...
 
Пользовался поиском, но так и не нашел решения. В основном сравнение идет полностью совпадающих ячеек, а в моем случае ячейки отличаются и критерий поиска соответствие только части текста.
 
А пункт 3 прочитали?
Я сам - дурнее всякого примера! ...
 
Вот файл примера. Заранее спасибо.
 
Туча примеров решения, если только немного подумать над вариантами запросов к поиску... Один из последних - http://www.planetaexcel.ru/forum.php?thread_id=42856 ... ;) -65203-
 
Стандартными не знаю (сложно), написал UDF:  
 
Function FindIt(it As Range, krit As Range) As Boolean  
   Dim a(), i&  
   FindIt = 0  
   a = krit.Value  
   For i = 1 To UBound(a)  
       If it Like "*" & a(i, 1) & "*" Then  
           FindIt = 1  
           Exit For  
       End If  
   Next  
End Function  
 
Можно использовать на листе или в УФ.  
Если в УФ, тогда диапазону критериев нужно дать имя (например kriterij)  
Тогда формула такая: =FindIt(B1,kriterij)  
В УФ - выделить диапазон, ввести как написано выше, выбрать цвет заливки.
 
Кстати, если в коде поменять местами 1 и 0 - то заливка УФ соответственно поменяется.
 
=ЕСЛИ(ЕНД(ВПР("*"&A2&"*";'Таблица 1'!$B$1:$B$5;1;));"нет такой улицы";"")
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
:-) Привет, други. Я пока по телевону покалякал... Вижу мне уже и делать неча.
Я сам - дурнее всякого примера! ...
 
Ещё вариант:  
=ЕСЛИ(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(A2;'Таблица 1'!B$1:B$5)));"";"нет такой улицы")
 
{quote}{login=KukLP}{date=10.07.2012 03:13}{thema=}{post} пока по телевону покалякал... Вижу мне уже и делать неча.{/post}{/quote}  
В большой семье меньше калякай.  
:))
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Согласен, Вов:-) Очень приятно видеть такую реакцию форума.  Я час(!) уговаривал ТС и за меньше 20 мин. проблема решилась кучей способов:-)
Я сам - дурнее всякого примера! ...
 
Спасибо. Но. С функцией от HUGO пока не разобрался, не очень я этими функциями владею.    
А предложенные формулы не подходят. Задача в том, чтобы в таблице 1 отметить те ячейки с адресом, в которых нет улиц перечисленных в таблице 2. А предложенные формулы делают наоборот.    
Смысл в том, что у меня есть Адресное пространство (таблица 2), в ней около 3000 адресов, и каждый месяц мне предоставляют файл с адресами (таблица 1) и в этой таблице (таблице 1) нужно отметить те адреса которых у меня нет в Адресном пространстве.
 
Функция HUGO также как и предложенные формулы отмечает строки в таблице 2.
 
1:0 в пользу макросов :)  
Мне тоже казалось, что формулами не так просто.  
Файл к сожалению приложить не могу.  
 
"Функция HUGO также как и предложенные формулы отмечает строки в таблице 2." - а вот это уже зависит только от Вас :)
 
Maxometr, покажите на примере, что Вы хотите видеть.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Вот образец.
 
Я точно так и сделал (только другим цветом) с помощью УФ и UDF.  
Смогу показать часа чарез 3 (если налево не заверну после работы... :) )  
Хотя на сайте в приёмах есть уроки, как UDF использовать. И про УФ тоже есть. Осталось это всё собрать вместе :)
 
Формула : Макрос  
1:1
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Создал пользовательскую функцию, но все равно ерунда получается. Все время выдает ИСТИНА. ((
 
Владимир, спасибо )  
То, что нужно.
 
Ну чтоб уж окончательно 1:1 - файл :)
 
Спасибо.    
Владимир, если не трудно, то опишите алгоритм работы вашей формулы. Никак не могу понять как она взаимодействует с таблицей 2.
 
=ЕЧИСЛО(ПРОСМОТР(999;ПОИСК(Адрес;A2)))  
 
1.Адрес - это именованный диапазон ='Таблица 2 (адр. простр.)'!$A$1:$A$4, т.к. условное форматирование с другими листами не может работать, поэтому приходится создавать такой диапазон.  
 
2. Основная форммула, которая сама за себя говорит.  
=ПОИСК('Таблица 2 (адр. простр.)'!$A$1:$A$4;A2)  
 
3.ПРОСМОТР(999;ПОИСК(Адрес;A2)) - ищет число, т.к. ПОИСК создаёт диапазон с ошибками, -{#ЗНАЧ!:#ЗНАЧ!:54:#ЗНАЧ!}(Если есть число в массиве, значит есть совпадение, если нет, то..), ПРОСМОТР может обойти эти ошибки и найти число. В приницпе тут можно и функцию СЧЕТ использовать, но это уже массивная формула будет.  
 
4.ЕЧИСЛО()  - тут конкретно требуется перевести значение в ИСТИНА или ЛОЖЬ, что и требуется для Условного форматирования.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Блин, "адрес"-это заданное имя, а я подумал, что одноименная формула. Век живи-век учись. Спасибо всем за помощь.
Страницы: 1
Читают тему
Наверх