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

Мне нужно посчитать сумму ряда, точнее даже трех, число элементов ряда 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
(VBA) Excel: Сумма матмематического ряда.
    #36627271
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skleppi,

Функции SumUp() и SumDown() вызывают Sum0(), но при вызове не передают ей аргументов. В этом и причина ошибок.
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36627340
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
(VBA) Excel: Сумма матмематического ряда.
    #36627654
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=)
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36627666
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlth,

спасибо большое! а не подскажете, как сделать, чтобы аргументы передавались?
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36627757
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так (если я верно понял логику модуля, так и будет правильно):
Код: 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
(VBA) Excel: Сумма матмематического ряда.
    #36628200
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Вам. Правда у меня не получится посчитать SumUp/SumDown, пока не посчитаю Sum0, а оно выдает ошибку #ЗНАЧ, и вот тут не представляю, в чем дело. :(
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36628307
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skleppi,

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

Что Вы хотели получить?
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36629472
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
(VBA) Excel: Сумма матмематического ряда.
    #36631225
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто-нибудь ещё знает, в чем дело? =)
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36631594
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное какой-то метод прогноза.
...
Рейтинг: 0 / 0
(VBA) Excel: Сумма матмематического ряда.
    #36631674
skleppi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ser Artur,

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

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


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