Страницы: 1
RSS
ВПР , поиск по маске ?
 
Добрый день!  
 
Имеется ли у кого нибудь готовое решение по данному вопросу?  
 
пробывал делать =ВПР("*"&"45009"&"*";A3:E3194;5;ЛОЖЬ) выдает не то что надо  
пробывал делать =ВПР("*"&"45009"&"*";A3:E3194;5;ИСТИНА) вообще выдает не то.  
 
в самом же диапазоне есть значение "TICA45009"  
 
требуется чтоб выводил массив значении
 
ВПР() может показать только одно значение.  
 
Не пробЫвали файл приложить? Небольшой, до 100 Кб?
 
Да конечно, придется конечно подрезать, сам файл весит 38 Мб
 
Нашел конечно в копилке идей интеллектуальный ВПР, но это чуть не то.  
 
 
Идеальным вариантом было бы осуществления поиска по регулярному выражению, но это вообще уже изгиб))  
 
а так и по простой маске сойдет  
 
P.S. к сожалению не знаю VBA , только PHP, Javascript и т.д.
 
1. искать всегда только в столбце D?    
2. Куда и в каком виде выводить массив?
 
1. В Вашем диапазоне нет значения "TICA45009" (с помощью "Найти" я его не нашел).  
2. У Вас =ВПР("*"&"45009"&"*";A3:E3194;5;ЛОЖЬ) - написана неправильно.  
Если Вы хотите найти название    
- на основании столбца C,  
тогда =ВПР("*"&A1&"*";Перечень!C1:E3194;3;0)  
- на основании столбца D,  
тогда =ВПР("*"&A1&"*";Перечень!В1:E3194;2;0)
 
1) Искать не только в столбце D, возможность выбора столбца  
2) в виде строк, указанного ранее столбца  
 
Вот как себе я это представляю  
= ПоискПоМаске(X,Y,Z,T) , где :  
  - Х - маска ,  
  - Y - Столбец где будет осуществятся поиск ,  
  - T - Номер столбца вывода, к примеру:  
если Y это B , а T это 3  => значит вывод результата из столбца E  
 
если совпадение было в строках 25 , 48 => то результатом выведет значение из ячейки E25 и E48. Результат из ячейки E25 будет показан в ячейке , где была вставлена сама формула, результат E48 будет выведен, на строку ниже и т.д.  
 
что то типо того, как я себе представляю
 
{quote}{login=гость}{date=25.04.2012 10:39}{thema=}{post}1. В Вашем диапазоне нет значения "TICA45009" (с помощью "Найти" я его не нашел).  
2. У Вас =ВПР("*"&"45009"&"*";A3:E3194;5;ЛОЖЬ) - написана неправильно.{/post}{/quote}  
1) Да, в подрезанном варианте не осталось данного значение, их много не уследишь, возьмем к примеру "41015" в данном файле.  
2) По формуле выводит ошибку #ИМЯ? , =ВПР("*"&"41015"&"*";Перечень!В1:E3194;2;0)
 
Сделаю вариант немного позже.
 
Спасибо Вам заранее.
 
См. файл. Сначала устанавливаем опции поиска, зачем в ячейку А1 вводим текст для поиска. Если затем изменили условия поиска для того же текста, активируем ячейку А1, жмём F2 - Enter,
 
Спасибо большое, возник вопрос, возможно ли это сделать в виде формулы ?  
дело в том, что таблиц у меня несколько и бывает что надо вывести столбец к примеру L или W ...  
Или подскажите что подправить, какую строчку
 
С формулами - это не ко мне. По поводу столбцов - цифрами не получается?
 
Я по поводу, в данном примере 5 столбцов выводится из найденного, а если их 12 , то тогда где что в коде лучше подправить?
 
Вы говорите про ввод номера столбца или про то, что ВЫВОДЯТСЯ только 5? В Вашем примере вообще одно значение требовалось выводить.  
P.S. Потрудитесь подписываться - не знаю с кем общаюсь.
 
про то , что только выводятся только 5, можно и одно ничего страшного.  
тут дело в том, что мне нужно бывает вывести к примеру столбец 12-ый , а не только до 5.  
 
попробовал тупо в коде исправить все 5 на 12 , ничего не сработало, к сожалению в этом деле я дуб... и мой дубовый метод не подошел...    
 
 
 
P.S. извините, про подпись всё время забываю (кэш и куки не храню)
 
Понятно. Найдите в кодах такую строку:  
Range(Cells(LastRow + 1, 4), Cells(LastRow + 1, 8)).Value = Range(.Cells(RangeToFind.Row, 1), .Cells(RangeToFind.Row, 5)).Value  
Цифры 4 и 8 (до знака "равно") - номера диапазона столбцов диапазона на втором листе  
Цифры 1 и 5 (во второй половине) - номера диапазона столбцов на первом листе.  
Замените во ВСЕХ процедурах!
 
Спасибо, всё работает как часы
 
Ого, сколько кода... :)  
Вероятно можно "скрестить ежа с ужом" - написать массивную UDF.  
В параметрах выбрать диапазоны и собственно параметры.  
Но формулу вводить нужно сразу на диапазон с запасом - если места не хватит, то можно что-то упустить.  
Ну и параметры тогда "на лету" не поменяешь - придётся заново всю формулу менять.  
Хотя - параметры можно брать с листа. Но тогда удобнее макрос Юрия.    
К тому и вернулись :)
 
Игорь, согласен - кода многовато. Можно было сделать не четыре отдельных процедуры а всё в одной (с ветвлениями) :-)
Страницы: 1
Читают тему
Наверх