Страницы: 1
RSS
Отобрать все значения по нескольким критериям
 
Всем привет! Получил задачку на первый взгляд, всё вроде просто отобрать все значения по нескольким критериям, конечно же воспользовался ПОИСКПОЗ, ИНДЕКС, СЦЕПИТЬ но в конце меня осенило, таким образом я смогу найти только одно значение, первое в списке и вот сижу ломаю голову как найти все значения в определённой области, в пример более понятней. На листе 2 данные, из которых нужно извлечь информацию, по условиям на листе 1
 
Многоразовый ВПР критерии отбора указываются в первой строке
Лень двигатель прогресса, доказано!!!
 
Возможно поторопился, наткнулся на одно решение http://excel2.ru/articles/zapros-na-vyborku-dannyh-formuly-v-ms-excel, хотя с одним критерием, но его думаю можно сцепить
 
Сергей, Сергей спасибо, единственное в столбцах c С..G критерии их отбирать не надо, попробую сам упростить формулу
 
Сергей, а какую роль выполняет вот эта часть функции НАИМЕНЬШИЙ
Код
СТРОКА(Лист1!A1)
 
=СТРОКА(A1)
Впишите такую формулу. Протяние по строкам. Посмотрите результат.
 
Цитата
adamm написал:
С..G критерии их отбирать не надо
не протягивайте в бок и все, строка указывает наименьшему какую позицию тянуть из массива
Лень двигатель прогресса, доказано!!!
 
Да почти разобрался, раньше не пользовался данной функцией http://exceltip.ru/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D0%BD%D0%B0%D0%B8%D0%B1%D0%BE%D0%BB%D..., всем спасибо!
 
Можете мне разъяснить, правильно ли я понял вот эту часть формулы
Код
НАИМЕНЬШИЙ(ЕСЛИ((C$25:C$41=$C$2)*(D$25:D$41=$D$2)*(E$25:E$41=$E$2)*(F$25:F$41=$F$2)*(G$25:G$41=$G$2);СТРОКА($1:$17));СТРОКА(A1))
функция ЕСЛИ отбирает из всего диапазона совпадения (даёт ИСТИНУ), функция СТРОКА даёт числовой диапазон, при желании я могу разместить её да же на другом листе, обе эти функции при образовании массива в функции НАИМЕНЬШИЙ дают диапазон с отобранными критериями (ИСТИНУ и ЛОЖЬ), далее позиция "к" указывает порядковую истину
 
Да, где-то так, но немного не так )
Цитата
обе эти функции при образовании массива в функции НАИМЕНЬШИЙ дают диапазон с отобранными критериями (ИСТИНУ и ЛОЖЬ), далее позиция "к" указывает порядковую истину
Получаем массив значений (номера строк и ЛОЖЬ), из которого выбираем нужное.

Совет: разделить условия несколькими ЕСЛИ, они помогут не считать лишнее.
 
вот какой массив получается когда отработает функция если с условиями
=ЕСЛИОШИБКА(ИНДЕКС(Лист2!A$1:A$17;НАИМЕНЬШИЙ({1:2:3:4:5:6:7:8:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ};{1}));"")
Лень двигатель прогресса, доказано!!!
 
Ок, всё понял ещё раз спасибо!
 
Я конечно же извиняюсь, что сразу не полумал, а возможно доработать формулу, что бы она дубликаты пропускала?
 
Выборка с Индекс+Поискпоз и без формулы массива
 
belsergey,спасибо!
Страницы: 1
Читают тему
Наверх