Страницы: 1
RSS
Поиск по двум условиям, одновременно
 
Подскажите пожалуйста, как организовать поиск сразу по двум параметрам?
В зависимости от выбранных данных на листе PS в ячейках В2, В3 надо найти заказной номер на листе SP и вывести его на лист PS в ячейку С3.
 
=ИНДЕКС(SP!D3:D17;ПОИСКПОЗ(B2&B3;SP!B3:B17&SP!C3:C17))
формула массива
 
Как вариант - http://www.planetaexcel.ru/techniques/2/92/
Только пример ваш несколько упрощен, а потому судить как лучше делать сложно.
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Код
=ВПР(B3;ИНДЕКС(SP!C3:C17;ПОИСКПОЗ(PS!B2;SP!B3:B17):ИНДЕКС(SP!D317;ПОИСКПОЗ(PS!B2;SP!B3:B17));2;0)
или, если индекс сложен
Код
=ВПР(B3;СМЕЩ(SP!C2;ПОИСКПОЗ(PS!B2;SP!B3:B17;);;СЧЁТЕСЛИ(SP!B3:B17;PS!B2);2);2;) 
 
Для таких красиво упорядоченных данных:
=ИНДЕКС(SP!D3:D17;ПОИСКПОЗ(B2;SP!B3:B17;)+ПОИСКПОЗ(B3;SP!C3:C5;)-1)
 
Интересно. Полезно. А может кто-нибудь предложить то же, только через VBA? Может быть...?
 
Вам для интереса?
 
Цитата
Юрий М пишет:
Вам для интереса?
Цитата
all L пишет:
может кто-нибудь предложить то же, только через VBA?
удовлетворяю интерес:
может
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
мне, признаться, для реализации подобной задачи под свои данные. Пример бы помог
 
О, да. Пример бы помог... Покажете?

Но если Ваша задача не в тему, Ваши сообщения будут удалены.
 
Вот для реализации :-) Только не понял - откуда и для чего там текст Vitogas...
 
Юрий, спасибо. Подходит, т.к. реализация абсолютно ясна. Перенести под свои нужды могу. Благодарю.
 
Михаил С.,
Цитата
Михаил С. пишет:
Код
 =ВПР(B3;ИНДЕКС(SP!C3:C17;ПОИСКПОЗ(PS!B2;SP!B3:B17):ИНДЕКС(SP!D317;ПОИСКПОЗ(PS!B2;SP!B3:B17));2;0) 
или, если индекс сложен
Код
 =ВПР(B3;СМЕЩ(SP!C2;ПОИСКПОЗ(PS!B2;SP!B3:B17;);;СЧЁТЕСЛИ(SP!B3:B17;PS!B2);2);2;)  

Попробывал Ваш способ, но с ИНДЕКС не на всех позициях работает корекно, а со СМЕЩ так и не разобрался.
Подскажите пожалуйста где подвох  :) ?
 
В формуле с индексом ошибка затесалась, должно быть
=ВПР(B3;ИНДЕКС(SP!C3:C17;ПОИСКПОЗ(PS!B2;SP!B3:B17;0)):ИНДЕКС(SP!D3:D17;ПОИСКПОЗ(PS!B2;SP!B3:B17));2;0)
Со смешением в чем проблема?
 
А если преобразовать?
 
Доброго времени суток!
Господа хорошие! Посмотрите, пожалуйста, а что у меня не так? Мне надо сравнить две базы по двум критериям. Делаю по формуле которая предлагалась выше, но... когда просматриваю формулу, то значение считает и показывает, а когда выхожу из просмотра, то пишет #Н/Д.
 
Код
=СУММПРОИЗВ((База2!$D$3:$D$11=База1!D3)*(База2!$F$3:$F$11=База1!F3)*База2!$G$3:$G$11)

или Ваша, но формула массива:
Код
=ИНДЕКС(База2!$G$3:$G$11;ПОИСКПОЗ(F3&D3;База2!$F$3:$F$11&База2!$D$3:$D$11))
Изменено: Hugo - 04.07.2013 01:05:55
 
Спасибо огромное!
А что с моим вариантом? Он неправильный? Забыть?
 
Что-то после 200 строки стало выдавать 0, хотя точно есть данные. Эта формула зависит от сортировки данных или нет?
 
В формуле адресацию не забыли поменять?
Значит точно нет соответствия.
И о какой формуле идёт речь? :)
 
Речь шла о формуле СУММПРОИЗВ. Оказывается, что-то было с форматом даты. Пока не зашел в каждую ячейку через F2 и потом не нажал Enter, ничего не получалось.
Страницы: 1
Наверх