Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 5

Рассчитать процентную ставку в зависимости от условий

06.04.2013, 17:06. Показов 2060. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень нужна помощь мало-понимающей девушке в написании части программного кода!!!
есть такие данные:
k – Сумма кредита
mk – максимальная сумма кредита
o – Отношение суммы кредита к максимальной сумме кредита
st – процентная ставка
t – Срок кредита
рv – Первоначальный взнос
v – первоначальный взнос в процентах
s – Стоимость квартиры
необходимо с помощью программного кода рассчитать процентную ставку. вот алгоритм, нужно его оформить в excel VBA, чтобы значение процентной ставки формировалось в ячейке таблицы..
помогите девушке, пожалуйста!!!

1. Рассчитаем сумму кредита: (стоимость квартиры – первоначальный взнос) k = s - v
2. Рассчитаем первоначальный взнос в процентном отношении: v = 100% * рv/s
3. Максимальная сумма кредита:
• Если v > 50, то mk = 5700000
• Если 40 < v < 49, то mk = 5100000
• Если 30 < v < 39, то mk = 4600000
4. Рассчитаем отношение суммы кредита к максимальной сумме кредита: О = k/mk
5. Алгоритм:
Если О > 0.5, то
a. Если v > 0.5, то
i. Если 36 < =t <= 60, то st = 11,4
ii. Если 61 <=t <=84, то st = 11,65
iii. Если 85 <=t <=120, то st = 11,85
iv. Если t > 120, то st = 12,05
b. Если 40 <= v <= 49, то
i. Если 36 < =t <= 60, то st = 11,65
ii. Если 61 <=t <=84, то st = 11,85
iii. Если 85 <=t <=120, то st = 12,05
iv. Если t > 120, то st = 12,25
c. Если 30 <= v <= 39, то
i. Если 36 < =t <= 60, то st = 12,05
ii. Если 61 <=t <=84, то st = 12,25
iii. Если 85 <=t <=120, то st = 12,4
iv. Если t > 120, то st = 12,55
далее идет опять условие для "о"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2013, 17:06
Ответы с готовыми решениями:

Рассчитать эффективную процентную ставку по вкладу для простых и сложных процентов
Здравствуйте! Помогите пожалуйста рассчитать эффективную процентную ставку по вкладу для простых и сложных процентов на основе ниже...

Вводим с клавиатуры сумму в гривнах, срок вклада в месяцах и процентную ставку за год. Посчитать, сколько д
int main() { setlocale(LC_ALL, &quot;&quot;); int vklad; int per; int vid; int pryb; cout &lt;&lt; &quot;Введите нач.вклад: &quot;; ...

Рассчитать значения ячейки в зависимости от нескольких условий
Помогите пожалуйста рассчитать значения бонуса при выполнении плана. Моих знаний не хватает для расчета одной или несколькими формулами....

4
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
06.04.2013, 18:02
Upuk, выложите хотя бы начало и конец процедуры и спросите, что делать дальше.


Примечание

В VBA программный код называется "процедура", "функция", "макрос".
1
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 5
07.04.2013, 12:12  [ТС]
где мне нужно расставить else и end if, чтобы считалось правильно??

Visual Basic
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Public Sub proc()
ActiveSheet.Cells.ClearContents
Dim k As Long, mk As Long, s As Long, st As Double, t As Integer, pv As Long, v As Long, a As Long, o As Double
Dim x As Variant, y As Variant, z As Variant
s = InputBox("Vvedite stoimost kvartiry")
pv = InputBox("Vvedite pervonachalnyi vznos")
t = InputBox("Vvedite srok kredita")
Range("b2") = "стоимость квартиры "
Range("b3") = "первоначальный взнос "
Range("b4") = "срок кредита "
Range("b5") = "сумма кредита "
Range("b6") = "Ïпроцентная ставка"
Range("b7") = "первоначальный взнос % "
Range("b8") = "максимальная сумма кредита"
Range("b9") = "отношение макс. суммы к сумме кредита"
Range("a2") = s
Range("a3") = pv
Range("a4") = t
k = s - pv
Range("a5") = k
v = 100 * pv / s
Range("a7") = v
If 30 <= v <= 39 Then mk = 4600000
If 40 <= v <= 49 Then mk = 5100000
If v >= 50 Then mk = 5700000
Range("a8") = mk
o = 100 * k / mk
Range("a9") = o
If o <= 50 Then If v >= 50 Then If 36 <= t <= 60 Then st = 11.4
                                If 61 <= t <= 84 Then st = 11.65
                                If 85 <= t <= 120 Then st = 11.85
                                If t > 120 Then st = 12.05
                If 40 <= v <= 49 Then If 36 <= t <= 60 Then st = 11.65
                                If 61 <= t <= 84 Then st = 11.85
                                If 85 <= t <= 120 Then st = 12.05
                                If t > 120 Then st = 12.25
                If 30 <= v <= 39 Then If 36 <= t <= 60 Then st = 12.05
                                If 61 <= t <= 84 Then st = 12.25
                                If 85 <= t <= 120 Then st = 12.4
                                If t > 120 Then st = 12.55
If 50 <= o <= 75 Then If v >= 50 Then If 36 <= t <= 60 Then st = 11.55
                                If 61 <= t <= 84 Then st = 11.8
                                If 85 <= t <= 120 Then st = 12
                                If t > 120 Then st = 12.2
                If 40 <= v <= 49 Then If 36 <= t <= 60 Then st = 11.8
                                If 61 <= t <= 84 Then st = 12
                                If 85 <= t <= 120 Then st = 12.2
                                If t > 120 Then st = 12.4
                If 30 <= v <= 39 Then If 36 <= t <= 60 Then st = 12.25
                                If 61 <= t <= 84 Then st = 12.4
                                If 85 <= t <= 120 Then st = 12.55
                                If t > 120 Then st = 12.7
If 75 <= o <= 100 Then If v >= 50 Then If 36 <= t <= 60 Then st = 11.7
                                If 61 <= t <= 84 Then st = 11.9
                                If 85 <= t <= 120 Then st = 12.1
                                If t > 120 Then st = 12.3
                If 40 <= v <= 49 Then If 36 <= t <= 60 Then st = 12
                                If 61 <= t <= 84 Then st = 12.2
                                If 85 <= t <= 120 Then st = 12.35
                                If t > 120 Then st = 12.5
                If 30 <= v <= 39 Then If 36 <= t <= 60 Then st = 12.5
                                If 61 <= t <= 84 Then st = 12.6
                                If 85 <= t <= 120 Then st = 12.7
                                If t > 120 Then st = 12.8
Range("a6") = st
End Sub
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
07.04.2013, 12:21
Upuk, вообще синтаксис у "If ... Then" такой:
Visual Basic
1
2
3
4
5
6
7
If ... Then
    действие
ElseIf ... Then
    действие
Else
    действие
End If
Есть другой вариант записи "If ... Then", но я думаю, что вам и одного варианта хватит. Когда этот вариант освоите, к другому перейдёте, если понадобится.

И можно же тренироваться на фрагменте, а не всей вашей задаче.
Т.к. вникать во все пункты вашей задачи не каждый захочет. А если вы смоделируете вашу задачу - возьмёте из вашей задачи часть задачи и предложите её на Форуме, то быстрее помогут.
1
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 5
07.04.2013, 12:30  [ТС]
Спасибо! попытаюсь разобраться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2013, 12:30
Помогаю со студенческими работами здесь

Автозаполнение поля в зависимости от условий
Здравствуйте! Есть 3 таблицы: СРМ (ИД, Название, стоимость) Описание (ИД, ценовая категория, ИД_СРМ) Ценовая категория (ИД,...

Появление объектов в зависимости от условий
Расскажите, пожалуйста, как сделать такое: Например, есть комбобокс с двумя строками (умножить и площадь круга). при выборе умножения,...

Выбор ячейки в зависимости от условий
Требуется выбрать одно из значений для подстановки в формулу. Формула для расчета A3= A1/А2 или А3. А3 подставляем в случае , если...

Объявление переменных в зависимости от условий
Возможно ли каким-то образом объявлять переменные в Делфи в зависимости от каких-либо условий? Например, если определенная переменная равна...

Вывод разметки в зависимости от условий
Здравствуйте уважаемые форумчане. Не подскажите как грамотно генерировать разметку, в зависимости от прав в базе данных. Я лично со своим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru