Страницы: 1
RSS
Подставить в формулы значение нескольких столбцов на разных строчках
 
Добрый день.
Скорее всего, задача пустяковая, однако, я так и не смог найти решение, поэтому прошу помощи.
Вдохновился https://www.planetaexcel.ru/techniques/2/81/ и решил адаптировать этот способ под свои нужды, однако столкнулся с проблемой, что не знаю, как мне подставить в формулы значение нескольких столбцов на разных строчках.

p.s. Я думал на счёт перестроить таблицу однако это крайний вариант и хотелось бы его избежать.
 
чет бред какой то сумма№1+сумма№2 что вы от этого хотите пример чего желаете объясните нормально или покажите в файле
Лень двигатель прогресса, доказано!!!
 
Прошу прощения объяснил довольно скудно. Переделал пример, что бы визуально был понятнее. Суть состоит в том, что бы при вводе № заказа например 1 отображались все товары которые в этот заказ входили из 3-х таблиц как указано в примере.
 
Тут в приемах есть видео под названием что-то типа, "множественный ВПР". Посмотрите, но при такой организации данных, скорее всего только макрос поможет.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
wowick написал:
но при такой организации данных, скорее всего только макрос поможет.
можно попробовать и формулой но думаю она будет большущей и мутной
Лень двигатель прогресса, доказано!!!
 
wowick,  я как раз увидев этот пример и решил его адаптировать для себя однако  там пример на 1 столбике и вот, моя проблема в том что я не знаю как  подставить в формулу значения при такой организации данных как в  примере. Жаль конечно что только макросом возможно реализовать это.
 
Сергей, я так и предполагал. Спасибо всем кто откликнулся, попробую перестроить организацию.
 
вот на первый пример на двух диапазонах формула уже раздувается из-за добавления логических вычислений где и в каком диапазоне смотреть
Код
=ЕСЛИОШИБКА(ИНДЕКС(($B$2:$B$16;$D$2:$D$16);НАИМЕНЬШИЙ(ЕСЛИ($H$2=ЕСЛИ(СЧЁТЗ($G$5:G5)<=СЧЁТЕСЛИ($A$2:$A$16;$H$2);$A$2:$A$16;$C$2:$C$16);СТРОКА($B$2:$B$16)-1;"");ОСТАТ(СТРОКА()-6;СЧЁТЕСЛИ($A$2:$A$16;$H$2))+1);1;ЕСЛИ(СЧЁТЗ($G$5:G5)<=СЧЁТЕСЛИ($A$2:$A$16;$H$2);1;2));"")
Лень двигатель прогресса, доказано!!!
 
Сергей, Благодарю, конечно, при большом массиве данных этот способ безумие :)  
 
Ну, барин, ты задачи ставишь!
Сделал через дополнительные столбцы. Сломал весь можг. Задержался на работе почти на час.
Я не волшебник, я только учусь.
 
не смотрел что у Сергей,
Код
=IFERROR(INDEX($1:$1048576;MOD(SMALL(IF($A$1:$C$34=$H$2;COLUMN($A$1:$C$34)+1+ROW($A$1:$C$34)*10^-6);ROW()-ROW($5:$5));1)*10^6;INT(SMALL(IF($A$1:$C$34=$H$2;COLUMN($A$1:$C$34)+1+ROW($A$1:$C$34)*10^-6);ROW()-ROW($5:$5))));"")
или чуть короче
Код
=IFERROR(INDEX($1:$1048576;MOD(SMALL(IF($A$1:$C$34=$H$2;COLUMN($A$1:$C$34)+1+ROW($A$1:$C$34)*10^-6);ROW()-ROW($5:$5));1)*10^6;SMALL(IF($A$1:$C$34=$H$2;COLUMN($A$1:$C$34)+1);ROW()-ROW($5:$5)));"")
или короче просто за счет мелочей
Код
=IFERROR(INDEX($1:$99;MOD(SMALL(IF($A$1:$C$99=$H$2;COLUMN($A$1:$C$99)+1+ROW($A$1:$C$99)/10^6);ROW()-5);1)*10^6;SMALL(IF($A$1:$C$99=$H$2;COLUMN($A$1:$C$99)+1);ROW()-5));"")
Изменено: БМВ - 26.04.2018 21:01:14
По вопросам из тем форума, личку не читаю.
 
Формула массива
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:D$16;100*ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(A$2:C$16=H$2;СТОЛБЕЦ(B$2:D$16)+СТРОКА(A$2:A$16)%);СТРОКА(A1));1);НАИМЕНЬШИЙ(ЕСЛИ(A$2:C$16=H$2;СТОЛБЕЦ(B$2:D$16)+СТРОКА(A$2:A$16)%);СТРОКА(A1)));"")
Изменено: АlехМ - 26.04.2018 20:43:30
Алексей М.
 
АlехМ, заинтриговали.если подчистить то у меня 173 вышло на ENG
По вопросам из тем форума, личку не читаю.
 
Не ожидал  :)  всем спасибо ещё раз. Первоначально думал , что задача  пустяковая а оказалось не всё так просто) попробую разобраться что к  чему.
Страницы: 1
Наверх