Страницы: 1
RSS
Перенос данных суммированием из одной таблицы в другую
 
Привет, дорогие форумчане. Сам новенький и уже все голову сломал над одной задачей:

Есть исходная таблица на одном листе:
ПунктДата
01.мар02.мар03.мар04.мар05.мар06.мар07.мар08.мар09.мар10.мар
a
b10
c12
d 13
e 14 15
e 15 10
f
a101 13
Есть таблица для переноса данных на другом листе: (в качестве примера - пункт "е"):
Пункт:eФормула0
ДатаПлан
01.мар0
02.мар0
03.мар0
04.мар0
05.мар15
06.мар0
07.мар0
08.мар10
09.мар0
10.мар0
Во второй таблице рядом с ячейкой "формула" записана следующая формула:
Код
=ИНДЕКС(исходная!$B$3:$K$10;ПОИСКПОЗ($B$1;исходная!$A$3:$A$10);ПОИСКПОЗ($A5;исходная!$B$2:$K$2;0))

Она прекрасно справлялась со своей задачей, но когда одноименных пунктов стало несколько - формула стала брать только последний пункт, а надо данные со всех одноименных пунктов стягивать в соответствующие даты, а если в одной дате есть данные по двум одноименным пунктам сразу - данные суммировать.
Данные исходной таблицы обновляются каждую неделю. Под каждый пункт у меня есть отдельная вкладка, куда стягиваются данные с исходной, поэтому я пытаюсь сделать максимально универсальную формулу, но не выходит. Если у кого-нибудь есть идеи - буду очень признателен за помощь.
 
Тимур Камалов, в В5

=СУММПРОИЗВ(($B$1=исходная!$A$3:$A$10)*($A5=исходная!$B$2:$K$2)*исходная!$B$3:$K$10)

или

Цитата
сделать максимально универсальную формулу
Код
=СУММПРОИЗВ(($B$1=исходная!$A$3:ИНДЕКС(исходная!$A$1:$A$10000;СЧЁТЗ(исходная!$A$3:$A$10000)+2;1))*($A5=исходная!$B$2:ИНДЕКС(исходная!$1:$2;2;СЧЁТЗ(исходная!$B$2:$AQS$2)+1))*исходная!$B$3:ИНДЕКС(исходная!$1:$1048576;СЧЁТЗ(исходная!$A$3:$A$10000)+2;СЧЁТЗ(исходная!$B$2:$AQS$2)+1))
Изменено: Mershik - 26.03.2021 21:25:54
Не бойтесь совершенства. Вам его не достичь.
 
Ещё вариант
Код
=СУММЕСЛИ(исходная!$A$3:$A$10;$B$1;ИНДЕКС(исходная!$B$3:$K$10;;ПОИСКПОЗ($A5;исходная!$B$2:$T$2;0)))
 
Цитата
Mershik написал:
=СУММПРОИЗВ(($B$1=исходная!$A$3:$A$10)*($A5=исходная!$B$2:$K$2)*исходная!$B$3:$K$10)
Обалдеть, как просто и изящно. Огромное вам спасибо! Надо изучать массивы, с ними определенно легче работается. Вторую формулу честно говоря вообще не понял. Это формульный вариант циклического алгоритма?
 
Тимур Камалов, это та же формула что и выше только так сказать с само расширяющимся диапазоном.
Изменено: Mershik - 28.03.2021 20:25:05
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх