Страницы: 1
RSS
Подстановка данных по двум условиям
 
Люди, помогите.
Имеется таблица с данными, с помощью ВПР или поиск позиции и индекса  ищу данные в одном столбце и подставляю данные из той же строки другого столбца.(ну это классика.)
Проблема в том, что искомые значения в столбце повторяются, а мне нужно найти именно ту строку которую я укажу.

Пример прилагаю
 
Можно через вот такую формулу массива:
Код
=ИНДЕКС($B$2:$D$11;ПОИСКПОЗ(C20 & МАКС(($B$2:$B$11=C20)*($C$2:$C$11));СЦЕПИТЬ($B$2:$B$11;$C$2:$C$11);0);3)
Изменено: Пытливый - 26.01.2017 17:03:44
Кому решение нужно - тот пример и рисует.
 
Пытливый, да так получается. Только я ищу данные в таблице, обновляемой из базы данных. Как в формуле прописать, что если кол-во строк добавляется то и массив нужно расширять?
 
Можно превратить таблицу, куда попадают данные, в умную таблицу и ссылки прописывать как на поля умной таблицы. Тогда, при изменении ее (таблицы) размера, формула будет учитывать увеличившееся количество строк
Код
=ИНДЕКС(Таблица1[[префикс]:[ид]];ПОИСКПОЗ(C20 & МАКС((Таблица1[префикс]=C20)*(Таблица1[платеж]));СЦЕПИТЬ(Таблица1[префикс];Таблица1[платеж]);0);3)
Кому решение нужно - тот пример и рисует.
 
Да так работает.. Вот бы понять как такая формула родилась... Объясните неучу)))
 
С индекс и поискпоз работать умеете (сами признались, никто за язык не тянул) :)
Формируем ЧТО искать в ПОИСКПОЗ как склеенные значения перфикса и максимальной даты, соответствующей этому перфиксу. И массив, где искать, тоже делаем при помощи СЦЕПИТЬ из набора перфиксов и дат. Ну вот поискпоз в этом массиве находит позицию строки, в котором сочетание ПЕРФИКСДАТА удовлетворяет условию. А потом через индекс вытаскиваем значение нужного столбца этой строки.
Изменено: Пытливый - 26.01.2017 17:44:37
Кому решение нужно - тот пример и рисует.
 
Формула без массивного ввода.
Код
=INDEX(D2:D11;AGGREGATE(15;6;ROW($1:$20)/(B2:B11=C20)/(C2:C11=AGGREGATE(14;6;C2:C11/(B2:B11=C20);1));1))
 
Пытливый, спасибо. А почему должна быть формула массива? Почему обычная формула не работает?
 
Например, мы когда для Поискпоз формируем искомое, мы перемножаем массивы: массив перфиксов, соответствующий условиям, и массив дат. Если применить обычную формулу, то при проверке перфикса на наличие условия, проверен будет только первый элемент диапазона, радостно получится ЛОЖЬ, потом эта ложь умножится на значение первой даты и в результате получим 0. И Макс нам выдаст 0. При пошаговом выполнении формулы (закладка формулы - вычислить формулу) это можно отчетливо наблюдать.
Я, помниться, когда переставал бояться формул массива (я в них нихрена не понимал), делал методом профессора тыка: вроде по логике формула должна работать - бах, не рабает. А если ее как формулу массива ввести? Ура? Ну, вот так и научился. :)
Кому решение нужно - тот пример и рисует.
 
Пытливый,ну еще раз спасибо, буду тыкать)))

jakim,а вы можете написать этапы вычисления в разных ячейках, а не в одной формуле? Хочется понять, что и как и где вычисляется. В одной формуле не могу проследить(((
Страницы: 1
Наверх