Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2013, 02:14   #1
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию СУММ столбцы с заданным шагом

Здравствуйте!
Для суммирования данных столбца с заданным шагом, как один из вариантов, применяется формула массива
=СУММ(ЕСЛИ(ОСТАТ(СТРОКА(Данные);шаг )=№стр;Данные),
Подскажите пожалуйста, а возможно ли как-то с помощью кода просуммировать данные столбца с заданным шагом(например -4 ) если первая строка как и последняя строка, диапазона суммирования, данных заранее не известна(см. вложение строка 39- строка начала суммирования, а может быть и 43-й, 47-й и т.д. или 35-й) ?
Благодарю за внимание
Вложения
Тип файла: rar Пример.rar (13.2 Кб, 12 просмотров)
Trimbl вне форума Ответить с цитированием
Старый 06.05.2013, 09:02   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

например, можно так:
Код:
=СУММПРОИЗВ(--(ОСТАТ(СТРОКА(СМЕЩ(G10;;;ЯЧЕЙКА("строка") - ЯЧЕЙКА("строка";G10)));4) = ОСТАТ(СТРОКА($G$10)+3;4))*
(СМЕЩ(G10;;;ЯЧЕЙКА("строка") - ЯЧЕЙКА("строка";G10))))
суммирует каждое четвертое значение до текущей строки от ячейки G10

з.ы. уберите перевод строки. в формуле
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 06.05.2013 в 09:05.
DiemonStar вне форума Ответить с цитированием
Старый 06.05.2013, 10:25   #3
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

DiemonStar спасибо за отклик, но очевидно я нарушил Ваш девиз - " Правильно поставленная задача......" , вопрос как раз и соостоит в том, что я заранее не знаю от какой ячейки начинать счет во втором диапазоне данных(G35:G47) так как количество строк первого диапазона данных(G10:G29) не постоянно, но кратно 4. В приведенном примере необходимо определить сумму каждой четвертой ячейки диапазона (G35:G47), но как указать в формуле эти границы данных и №строки зная, что последняя строка выделенного диапазона для объединенной ячейки(F36) определяется как - .Row + .MergeArea.Rows.Count-1 , а первая -.Row -1 не знаю.
Trimbl вне форума Ответить с цитированием
Старый 06.05.2013, 11:57   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
s = 0
for r = 1 to int(.MergeArea.Rows.Count/4)
  s =  s + cells(31+r*4, 7)
next
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.05.2013, 03:07   #5
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Если в коде от IgorGO строчку s = s + cells(31+r*4, 7) заменить на s = s + cells(.Rows-1+r*4, 7) - все работает. Но теперь(я так думаю) для пересчета, в случае изменения одного из слагаемых, этот код необходимо вынести в отдельный макрос и организовать срабатывание его по наступлению события(изменение одного из значений диапазона суммирования).
Подскажите, будьте добры, как для события Worksheet_Calculate(т.к. изменение значений ячеек - результат расчета по формуле) правильно указать диапазон отслеживания изменений типа Range(Cells(.Rows-1,7),Cells(Row + .MergeArea.Rows.Count,7))
Trimbl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построить график функции F(x) на заданном интервале с заданным шагом и вывести значения х и функции F(x) в таблицу в графическом р Proskurina Паскаль, Turbo Pascal, PascalABC.NET 8 12.11.2012 21:57
Посчет сумм banditos1603 Visual C++ 1 10.07.2012 11:53
Протабуляция функции с заданным шагом Teramix Паскаль, Turbo Pascal, PascalABC.NET 4 15.02.2011 09:52
Delphi. упорядочить столбцы матрицы по возрастанию сумм элементов этого столбца ДваДваВо7 Помощь студентам 2 09.02.2011 16:40
Суммирование ячеек с заданным шагом valerij Microsoft Office Excel 10 10.10.2007 00:22