Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / (VBA) Excel: Сумма матмематического ряда. / 21 сообщений из 21, страница 1 из 1
14.05.2010, 04:04
    #36627095
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Здравствуйте!
Я не очень хорошо разбираюсь в вба, и поэтому прошу о помощи.

Мне нужно посчитать сумму ряда, точнее даже трех, число элементов ряда n задается пользователем, написала такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Const l =  1 
Const m =  1 
Const c0 =  1 
Const c2 =  1 
Const c4 =  1 
Const c1 =  1 
Function Sum0(FirstNum As Integer, LastNum As Integer) As Double

    Dim k As Long, s As Double
    For k = FirstNum To LastNum
        s = (l / m) ^ k
    Next k
    Sum0 = s
End Function
    
Function SumUp(FirstNum As Integer, LastNum As Integer) As Double
    Dim k As Long, s As Double
    For k = FirstNum To LastNum
        s = s + (c0 * k * m / (l + k * m) - (k * c2 + c4) / (l + k * m)) * (((l / m) ^ k / Application.Fact(k)) / (((l / m) ^ LastNum) * m / Application.Fact(LastNum -  1 ) + Sum0))
    Next k
    SumUp = s
End Function

Function SumDown(FirstNum As Integer, LastNum As Integer) As Double

    Dim k As Long, s As Double
    For k = FirstNum To LastNum
        s = (((l / m) ^ k) * ( 1  / Fpplication.Fact(k))) / ((l + k * m) * (Sum0 + (l / m) ^ LastNum) * (m / Application.Fact(LastNum -  1 )))
    Next k
    SumDown = s
End Function

Затем хочу использовать эти функции в exel, используя =Sum0(0;2), например,

но для Sum0 ошибка #ЗНАЧ, SumUp/SumDown, которые в моем коде используют значение Sum0, по-моему на него не ссылаются, может я что-то неправильно делаю?

А также вопрос: как в коде ссылаться на ячейку из excel, в котором посчитано нужное мне значение, можно ли это сдеть?

Буду очень признательна за помощь =)
...
Рейтинг: 0 / 0
14.05.2010, 09:43
    #36627271
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
skleppi,

Функции SumUp() и SumDown() вызывают Sum0(), но при вызове не передают ей аргументов. В этом и причина ошибок.
...
Рейтинг: 0 / 0
14.05.2010, 10:16
    #36627340
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
skleppiкак в коде ссылаться на ячейку из excel, в котором посчитано нужное мне значение

Здесь множество способов. Важно понимать, в каких случаях достаточно сокращённой записи обращения
(без указания книги и листа в ней), а в каких - нет.
Примеры:
Код: plaintext
1.
2.
3.
x=ThisWorkbook.Worksheets("Лист1").Cells( 1 , 1 ).Value' Cells(№строки,№столбца)
x=Range("A1").Value ' получаем содержимое ячейки A1 активного листа
x=[a1]' — " —
x=Range("ИмяЯчейки").Value
Свойство Value можно опускать как свойство диапазона по умолчанию.

Это далеко не все способы доступа к содержимому диапазона (ячейки).
...
Рейтинг: 0 / 0
14.05.2010, 11:56
    #36627654
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
=)
...
Рейтинг: 0 / 0
14.05.2010, 11:58
    #36627666
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
vlth,

спасибо большое! а не подскажете, как сделать, чтобы аргументы передавались?
...
Рейтинг: 0 / 0
14.05.2010, 12:21
    #36627757
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Например так (если я верно понял логику модуля, так и будет правильно):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function SumDown(FirstNum As Integer, LastNum As Integer) As Double

    Dim k As Long, s As Double
    For k = FirstNum To LastNum
        s = (((l / m) ^ k) * ( 1  / Application.Fact(k))) / ((l + k * m) * _
             (Sum0(FirstNum, LastNum) + (l / m) ^ LastNum) * (m / Application.Fact(LastNum -  1 )))
    Next k
    SumDown = s
End Function
...
Рейтинг: 0 / 0
14.05.2010, 14:17
    #36628200
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Спасибо Вам. Правда у меня не получится посчитать SumUp/SumDown, пока не посчитаю Sum0, а оно выдает ошибку #ЗНАЧ, и вот тут не представляю, в чем дело. :(
...
Рейтинг: 0 / 0
14.05.2010, 14:45
    #36628307
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
skleppi,

Sum0() будет всегда равна 1 (если FirstNum<LastNum) или 0 (в противном случае).
Цикл в ней работает вхолостую.

Что Вы хотели получить?
...
Рейтинг: 0 / 0
14.05.2010, 22:19
    #36629472
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
vlth,

поняла свою ошибку, чтобы цикл не работал вхолостую должно быть

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Function Sum0(FirstNum As Integer, LastNum As Integer) As Double

    Dim k As Long, s As Double
    For k = FirstNum To LastNum
        s = s + (l / m) ^ k
    Next k
    Sum0 = s
End Function

правда тогда ошибка меняется с #ЗНАЧ на #ИМЯ =))
...
Рейтинг: 0 / 0
17.05.2010, 03:07
    #36631225
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
кто-нибудь ещё знает, в чем дело? =)
...
Рейтинг: 0 / 0
17.05.2010, 11:19
    #36631594
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Наверное какой-то метод прогноза.
...
Рейтинг: 0 / 0
17.05.2010, 11:50
    #36631674
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Ser Artur,

метод прогноза??
...
Рейтинг: 0 / 0
17.05.2010, 11:50
    #36631681
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
а что это значит?)
...
Рейтинг: 0 / 0
17.05.2010, 12:13
    #36631750
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Я не правильно понял. Это Вы что расчитываете? Это расчет прогноза продаж или что то вроде этого? Пример покажите
...
Рейтинг: 0 / 0
17.05.2010, 12:15
    #36631756
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Вопрос не правильно поставили. Сначала надо было показать пример, потом обяснить что для чего. А то здесь мало кто знает статистику, эконометрику и т.д.
...
Рейтинг: 0 / 0
17.05.2010, 12:39
    #36631814
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Ser Artur,

Спасибо за помощью Оказалось, что ошибки происходили из-за глюков самого экселя. После отправки фалй по почте, вместо ошибок он выдал числа! :)
...
Рейтинг: 0 / 0
17.05.2010, 13:10
    #36631899
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
А все таки что за расчеты, мои предположения оказались верными?
...
Рейтинг: 0 / 0
17.05.2010, 13:35
    #36631984
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Ser ArturА то здесь мало кто знает статистику, эконометрику и т.д.На чем основано такое утверждение?
...
Рейтинг: 0 / 0
17.05.2010, 13:37
    #36631992
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Вот этим текстом
Код: plaintext
Мне нужно посчитать сумму ряда
...
Рейтинг: 0 / 0
17.05.2010, 20:55
    #36632978
skleppi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
Ser Artur,
просто матмеатический ряд с числом слагаемых от 1 до n, причем n задается пользователем, т.е. каждый раз разное число слагаемых. Это не из статистики или эконометрики, скорее уж матан. Но лично мне нужно для ТМО :)
...
Рейтинг: 0 / 0
18.05.2010, 08:38
    #36633270
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(VBA) Excel: Сумма матмематического ряда.
A-a-a. Ну тогда успехов.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / (VBA) Excel: Сумма матмематического ряда. / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]