Страницы: 1
RSS
Суммирование динамического диапазона, Суммировать данные по одинаковому названию столбцов
 
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, как суммировать данные по названию столбцов, если они всегда динамические и их количество может быть совершенно разное.
Заранее большое спасибо!
 
см.ячейку Принц-Оборот, там формула
Код
=СУММПРОИЗВ(RC2:RC[-1]*(R2C2:R2C[-1]=R2C))
тяните ее за уголок вправо-вниз на все ячейки итогов.
Изменено: Ігор Гончаренко - 20.02.2017 17:37:31
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Iгор, спасибо, вроде бы то, но не совсем. Столбцы постоянно будут добавляться и тогда надо формулу протягивать дальше. Их может быть и 24 и 12.
 
эта формула
Код
=СУММПРОИЗВ(RC2:RC[-1]*(R2C2:R2C[-1]=R2C))
на человеческий язык переводится так:
суммировать все значения из этой строки от колонки 2 до колонки на 1 левее ячейки с формулой, для которых надпись в находящаяся над значением в строке 2 совпадает с надписью в строке 2 над колонкой с формулой.
даже если перед ячейкой с формулой будет 16 тыс.столбцов формула посчитает то, что написано в определении предложением раньше.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Iгор. Я знаю эту формулу. Проблема в том, что месяца формируются макросом и при добавлении февраля макрос просто поставит его на место ваших формул.  
 
вот в эту формулу
Код
=СУММПРОИЗВ(RC2:ИНДЕКС(R;СТОЛБЕЦ()-1)*(R2C2:ИНДЕКС(R2;СТОЛБЕЦ()-1)=R2C))
не нужно будет вносить изменения, когда Вы ставите, допустим, 4 колонки между колонками 17 и 18 (18-я станет 22-й колонкой), чтобы заполнить их данными за февраль
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
т.е. у Вас вопрос может-ли формула продолжать что-то считать, если ее удалили макросом?
ответ: нет, не может. (нет формулы - нет результатов ее вычислений)

но есть и хорошие новости:
1. при подготовке места под каждый новый месяц можно "научить" макрос отодвигать 4 колонки с итогами вправо
2. можно не париться с этим, а добавить в макрос 1 строчку
 Range(cells(3,C), cells(6,C+3)).formulaR1C1 = "=SUMPRODUCT(R2:RC[-1]*(R2:R2C[-1]=R2C))"
где С - предварительно посчитаете - это № колонки, где теперь будут суммироваться итоги с оборотов.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх