Суммирование.

Программирование на Visual Basic for Applications
Lyubaha
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 05.09.2006 (Вт) 13:35

Суммирование.

Сообщение Lyubaha » 05.09.2006 (Вт) 13:38

Добрый день!
У меня вопрос.
Есть столбец с числами, нужно произвести суммирование этих чисел по порядку таким образом: нужно суммировать сначала элементы от первого до десятого и записывать результат... потом элементы от второго до двенадцатого... потом от третьего до тринадцатого... потом от четвертого до четырнадцатого... и т.д.
Напишите, пжста, пример функции или выражения для такого вычисления.
Заранее спасибо!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.09.2006 (Вт) 13:59

Функция СМЕЩ() тебе поможет.
Lasciate ogni speranza, voi ch'entrate.

Lyubaha
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 05.09.2006 (Вт) 13:35

Сообщение Lyubaha » 05.09.2006 (Вт) 14:31

Понимаете, я не очень понимаю, как использовать offset() в данном случае... Если можно, то объясните, пожалуйста, поподробнее.

Ситуация:

Для ячеек:
H104=КОРЕНЬ(ДИСП(F4:F104))
H105=КОРЕНЬ(ДИСП(F5:F105))
H106=КОРЕНЬ(ДИСП(F6:F106))
H107=КОРЕНЬ(ДИСП(F7:F107))
H108=КОРЕНЬ(ДИСП(F8:F108))
и т.д.

Нужно написать макрос, чтобы это все считалось автоматом. Потому что интервал дисперсии часто приходится менять. Т. е. он может быть равен 100, 250, 255...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.09.2006 (Вт) 14:40

H104=КОРЕНЬ(ДИСП(СМЕЩ(F4;0;0;$A$1;1)))

В A1 указывается необходимый интервал дисперсии.
Lasciate ogni speranza, voi ch'entrate.

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 05.09.2006 (Вт) 23:07

Привет,

alibek писал(а):H104=КОРЕНЬ(ДИСП(СМЕЩ(F4;0;0;$A$1;1)))
В A1 указывается необходимый интервал дисперсии.


Функция СМЕЩ() делает всю формулу летучей, т.е. пересчет будет производиться по делу и без дела. Если ранги большие и/или много формул (а похоже, что так и есть), то лучше вот так:

=КОРЕНЬ(ДИСП(F4:ИНДЕКС(F:F;СТРОКА(F4)+$A$1)))
Привет,
KL


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 48

    TopList