Урок 5.1
Календарь платежей и общие условия финансирования
- Разделяем получение долга и его обслуживание
- Сравниваем частоту платежей при одинаковой ставке
- Фиксируем календарь и границы расчёта
- Рассчитываем дни и флаги выплат
- Календарь банковских выплат
- Вводим даты и продолжительность купона
- Параметры купонного календаря
- Строим последовательность выплат
- Относим каждую дату к периоду модели
- Купонные флаги и их итог
- Считаем дни каждого купона
- Два способа подсчёта дней
- Переносим длительности купонов в календарь
- Купонные дни по периодам
- Связываем два календаря выплат
- Подготавливаем годовую ставку и ставки за период
- Преобразуем годовую ставку в квартальную
- Рассчитываем ставки только для действующих периодов
- Проверяем количество платёжных периодов
- Ставки и номера выплат: подписи
- Ставки и номера платежей
- Сохраняем различие параметров, флагов и проверок
- Сохраняем общую основу расчёта долга
Вводная / Варианты погашения
Разделяем получение долга и его обслуживание
Продолжаем рабочую копию «М04_Контроль.xlsx». На листе «Расчеты» строка 51 уже содержит фактическое финансирование инвестиций долгом. Теперь рассчитываем получение и погашение долга, а также проценты для нескольких вариантов.
Рассчитываем пять вариантов обслуживания долга: аннуитетные платежи, дифференцированные платежи, облигационный заём, «Всё на долг» и ковенантные платежи. В последнем варианте связываем выплаты с заданным финансовым условием — коэффициентом покрытия обслуживания долга.
В этом уроке подготавливаем общий календарь и ставки. Затем последовательно рассчитываем первые четыре схемы. Ковенантная схема разбирается отдельно; её показатели пока не включаем в сравнение.
Перед вводом формул выбираем «Формулы → Параметры вычислений → Автоматически». Многострочную формулу вставляем через F2 или строку формул. В русской записи разделитель аргументов — точка с запятой; внутри кавычек в формулах календаря сохранён один пробел.
Пример / Периодичность
Сравниваем частоту платежей при одинаковой ставке
Для отдельного примера берём долг 7000 рублей, срок 7 лет и годовую номинальную ставку 15%. Постоянный аннуитет зависит от числа платежей в году: ставку делим на это число, а срок в годах умножаем на него.
| Платежи | Ставка периода | Число выплат | Один платёж, руб. | Всего, руб. |
|---|---|---|---|---|
| Раз в год | 15% | 7 | 1682,52 | 11 777,66 |
| Раз в полугодие | 7,5% | 14 | 824,58 | 11 544,14 |
| Раз в квартал | 3,75% | 28 | 408,07 | 11 425,90 |
| Раз в месяц | 1,25% | 84 | 135,08 | 11 346,49 |
Разница между ежегодными и ежемесячными выплатами составляет около 431,17 рубля: 6,16% от долга 7000 или 4,31% от инвестиций 10 000. Итоги рассчитаны до округления отдельного платежа.
Изменение единицы измерения не меняет процент экономии.
Это отдельная иллюстрация с выплатами в течение всех семи лет. В основной модели ниже есть льготная фаза и только 20 выплат; результаты двух примеров не смешиваем.
Шаг 01 / Условия примера
Фиксируем календарь и границы расчёта
В основной модели сохраняем 36 месячных периодов, затем кварталы; долг начинается 01.11.2015 и заканчивается 31.10.2022. Доли капитала и долга — 30/70, ставка — условные 15%.
В основном варианте выплаты происходят в конце квартала. Последняя долговая фаза завершается внутри четвёртого квартала 2022 года, поэтому расчёт дней ограничен 31 октября. Альтернатива — облигационный заём с регулярным купоном 90 дней.
До начала эксплуатации проценты в этой модели не начисляются. Разница дат льготной фазы составляет 791 день. Это принятое условие учебного примера: здесь нет накопления невыплаченных процентов и их капитализации. Отсрочка выплаты при продолжающемся начислении была бы другой моделью.
Купонная таблица рассчитана на 20 фактических выплат; следующая строка показывает «СТОП». Эта схема не поддерживает произвольные купонные периоды, например 60 или 180 дней. Не меняем периодичность и дату эксплуатации в ходе сравнения схем.
Шаг 02 / Банковские периоды
Рассчитываем дни и флаги выплат
На «Исходные данные» вводим B243 «График погашения заемного финансирования», C244 «Периодичность выплат», D245 «для аннуитетных / дифференцированных платежей». В G246 — «Количество дней для начисления процентов», G247 — «График погашения заемного финансирования».
P246
=ЕСЛИ(P12>O12;P116;0)*(P22=1)*(P18=1)- ЕСЛИ(И(Дата_конца_заемного_финансирования<=P$6; Дата_конца_заемного_финансирования>=P$5);P6- Дата_конца_заемного_финансирования;0)
P247
=ЕСЛИ(P246>0;1;0)
O246
=СУММ(P246:EE246)
O247
=СУММ(P247:EE247)
Заполняем строки 246 и 247 до EE. Строка 246 считает дни платёжного периода и ограничивает последний период датой окончания долга. Строка 247 возвращает флаг 1, если число дней положительное. Итоги должны дать 1765 дней и 20 выплат.
К P246:EE246 применяем «Обычный» с учётным числовым форматом; к P247:EE247 — «Флаг». К итогам O246:O247 применяем «СУММА». Для длинных подписей G включаем перенос текста и подбираем высоту строк.
Шаг 02 / Банковские периоды / Сверка в Excel
Календарь банковских выплат
Сопоставляем адреса и значения со своей рабочей книгой. Это результат предыдущего шага.





Шаг 03 / Купонные условия
Вводим даты и продолжительность купона
В D249 вводим «для облигационного займа». Подготавливаем подписи G и параметр J250:
| Ячейка G | Подпись | Значение/формула |
|---|---|---|
| G250 | Купонный период | J250 = 90 дней |
| G251 | Дата начала заемного финансирования | I251 |
| G252 | Дата конца заемного финансирования | I252 |
| G253 | Дата начала льготного периода | J253 |
| G254 | Продолжительность льготного периода | J254 |
| G255 | Дата конца льготного периода | J255 |
| G256 | Общее количество выплат | J256 |
I251
=Дата_начала_заемного_финансирования
I252
=Дата_конца_заемного_финансирования
J253
=I251
J254
=J255-J253
J255
=Дата_начала_эксплуатации-1
J256
=ОКРУГЛВВЕРХ((I252-J255)/J250;0)
К I251:I252, J253 и J255 применяем «Дата», к J250 — «Допущение», к J254:J256, кроме J255, — «Расчеты». Для J250/J254 сохраняем формат с подписью «дней». Получится 01.11.2015, 31.10.2022, конец льготы 31.12.2017, 791 день и 20 выплат. Округление вверх в J256 оставляет место для последнего короткого купона.
Шаг 03 / Купонные условия / Сверка в Excel
Параметры купонного календаря
Сопоставляем адреса и значения со своей рабочей книгой. Это результат предыдущего шага.

Шаг 04 / Даты купонов
Строим последовательность выплат
В G258 вводим «Дата конца льготного периода». Ниже в G259:G279 размещаем подписи «Дата платежа (купона) №1» … «Дата платежа (купона) №21».
J258
=$J$255
J259
=ЕСЛИ(И(J258+$J$250<=$I$252;J258<>0);J258+$J$250;(ЕСЛИ($I$252=J258; "СТОП";$I$252)))
Заполняем J259 вниз до J279. К J258:J279 применяем «Дата». Формула прибавляет 90 дней, пока очередная дата не выходит за дату окончания долга; последнюю фактическую выплату назначает на 31.10.2022. После неё появляется текст «СТОП».
Проверяем: первая дата J259 — 31.03.2018, последняя фактическая J278 — 31.10.2022; J279 содержит «СТОП». Это не двадцать первая выплата, а видимый признак лишней строки.

Шаг 05 / Распределение дат
Относим каждую дату к периоду модели
P259
=ЕСЛИ(И(P$5<=$J259;P$6>=$J259);1;0)
O259
=СУММ(P259:EE259)
P281
=СУММ(P259:P279)
O281
=СУММ(P281:EE281)
K281
=O281-J256
- Вводим P259 и заполняем вправо до EE259, затем вниз до строки 279. Итоговая матрица — P259:EE279; в нижней правой ячейке проверяется дата J279.
- Вводим O259 и заполняем вниз до O279: каждая фактическая дата должна попасть ровно в один период. У строки «СТОП» итог 0.
- В G281 вводим «График погашения заемного финансирования». Заполняем P281:EE281 и рассчитываем O281 и K281.
Ожидаемые значения: O281 = 20, K281 = 0. К O259:O279 и O281 применяем «СУММА», к K281 — «ТРЕВОГА». К P259:EE279 и P281:EE281 применяем «Флаг».
Шаг 05 / Распределение дат / Сверка в Excel
Купонные флаги и их итог
Сопоставляем адреса и значения со своей рабочей книгой. Это результат предыдущего шага.



Шаг 06 / Длительность купонов
Считаем дни каждого купона
В L258 вводим «Кол-во дней». Длительность купона — разница между текущей и предыдущей датами:
L259
=J259-J258
L279
=СУММ(L259:L278)
Заполняем L259 вниз только до L278. В L279 находится итог, а не разность с текстом «СТОП». Регулярные купонные периоды длятся 90 дней, последний — 55 дней. Сумма L279 должна быть 1765.
К L259:L279 применяем «Обычный» с учётным числовым форматом, как в соседней проверке дней. Короткий последний купон возникает из-за установленной даты окончания долга, а не из-за изменения J250.

Шаг 07 / Проверка дней
Два способа подсчёта дней
В L250 вводим «Кол-во дней». Сопоставляем весь срок, льготную фазу и дни купонов:
L251
=I252-I251
L252
=J254+L279
K252
=L251-L252
K279
=J150-J254-СУММ(L259:L278)-1
Оба значения L251 и L252 равны 2556: 791 + 1765. В исходном календаре J150 содержит 2557 — длительность фазы с включением обеих крайних дат. Поэтому контроль K279 дополнительно вычитает единицу. K252 и K279 должны быть нулевыми; применяем к ним «ТРЕВОГА».


Шаг 08 / Дни в периодах
Переносим длительности купонов в календарь
В G283 вводим «Количество дней для начисления процентов (купонный период)». В G284:G304 — «Дата платежа (купона) №1» … «Дата платежа (купона) №21», в G305 — «Итого».
P284
=ЕСЛИ(P259=1;$J259-$J258;0)
O284
=СУММ(P284:EE284)
P305
=СУММ(P284:P304)
O305
=СУММ(P305:EE305)
K305
=O305-L279
Заполняем P284 вправо до EE284 и вниз до строки 304. Заполняем O284:O304 и строку P305:EE305. Формула возвращает длительность только в тот период, где стоит соответствующий флаг из строк 259:279; когда флаг равен нулю, формула возвращает 0 и не вычитает дату из текста «СТОП».
O305 = 1765, K305 = 0. Последний фактический купон даёт 55 дней. К суммам O применяем «СУММА», к K305 — «ТРЕВОГА», к P284:EE304 применяем «Обычный», к P305:EE305 — «Л_ИТОГО», сохранив учётный числовой формат.
Шаг 08 / Дни в периодах / Сверка в Excel
Купонные дни по периодам
Сопоставляем адреса и значения со своей рабочей книгой. Это результат предыдущего шага.



Шаг 09 / Расчётный лист
Связываем два календаря выплат
На «Расчеты» в B56 вводим «График погашения заемного финансирования», в C57 — «Периоды выплат по заемному финансированию». В G58 — «для аннуитетных / дифференцированных платежей», в G59 — «для облигационного займа».
P58
='Исходные данные'!P247
P59
='Исходные данные'!P281
O58
=СУММ(P58:EE58)
O59
=СУММ(P59:EE59)
Заполняем обе строки до EE. К связанным строкам P58:EE59 применяем «Флаг», к O58:O59 — «СУММА». Исходные строки P247:EE247 и P281:EE281 сохраняют стиль «Флаг». O58 и O59 должны равняться 20.
В базовом сценарии оба календаря дают одну выплату за квартал, но это разные ряды: банковский и купонный. Их совпадение по количеству не означает поддержки произвольной купонной периодичности.
Шаг 10 / Общие условия
Подготавливаем годовую ставку и ставки за период
В C60 вводим «Общие условия». Подписи G61:G66:
| Ячейка | Подпись |
|---|---|
| G61 | Годовая процентная ставка |
| G62 | Процентная ставка для данного периода модели |
| G63 | для аннуитетных платежей |
| G64 | для дифференцированных платежей |
| G65 | для облигационного займа |
| G66 | № платежа (купона) |
I61
='Исходные данные'!$J$223
P61
=$I$61*(P58=1)*(P18=1)
Заполняем P61:EE61. I61 ссылается на согласованную ставку J223 исходных данных — 15%. Годовая ставка в строке 61 появляется только при банковском флаге 1 в фазе эксплуатации. Строка 62 остаётся подзаголовком, а строка 59 сохраняет купонные флаги.
Шаг 11 / Ставка аннуитета
Преобразуем годовую ставку в квартальную
L63
=I61/(ЕСЛИ('Исходные данные'!J101="месяц";Число_месяцев_в_году;0)+
ЕСЛИ('Исходные данные'!J101="квартал";Число_кварталов_в_году;0)+
ЕСЛИ('Исходные данные'!J101="год";1;0)+
ЕСЛИ('Исходные данные'!J101="полугодие";Число_месяцев_в_году/6;0))P63
=$L$63*(P58=1)*(P18=1)
Заполняем P63:EE63. В принятой модели J101 = «квартал», поэтому L63 = 15% / 4 = 3,75%. Аннуитет использует постоянную квартальную ставку; длительность конкретного квартала здесь не меняет ставку.
К I61, P61:EE61 и P63:EE65 применяем «Процент_0,00%». L63 оформляем стилем «Расчеты» и числовым форматом 0,00%, чтобы видеть 3,75%. Тип основного периода, дата эксплуатации и календарь выплат — связанные параметры. В этих уроках сохраняем проверенную квартальную схему.
Шаг 12 / Ставки по дням
Рассчитываем ставки только для действующих периодов
P64
=ЕСЛИ(P$5=" ";" ";P61*'Исходные данные'!P246/'Исходные данные'!P117* (P58=1)*(P18=1))
P65
=ЕСЛИ(P$5=" ";" ";P61*'Исходные данные'!P305/'Исходные данные'!P117* (P58=1)*(P18=1))
Заполняем обе строки до EE. В строке 64 годовая ставка умножается на дни начисления банковских процентов из строки 246 на листе «Исходные данные» и делится на число дней года из строки 117. В строке 65 используется сумма купонных дней из строки 305. В обеих формулах используем банковский флаг из строки 58 и флаг эксплуатации из строки 18.
Внешняя функция ЕСЛИ проверяет, есть ли дата периода, до выполнения деления. После конца календаря она возвращает один пробел. Простое умножение на нулевой флаг не предотвращает деление на нулевое число дней года; ошибки активного периода здесь не скрываются.
Здесь используются разные способы расчёта ставки: аннуитет — 15%/4, остальные рассматриваемые расчёты — дни/год. Они сохранены намеренно. Купонная ставка в этой конструкции по-прежнему связана с банковским календарём, поэтому произвольные сроки купонов не поддерживаются.
Шаг 13 / Номер выплаты
Проверяем количество платёжных периодов
P66
=СУММ($P$18:P18)*(P58=1)
O66
=МАКС(P66:EE66)
K66
=O58-O66
Заполняем P66:EE66. Накопительная сумма флагов эксплуатации даёт номер выплаты в выбранном календаре; банковский флаг оставляет его только в платёжных периодах. Здесь эксплуатация начинается, когда модель уже использует квартальные периоды.
O66 = 20 и K66 = 0. К P66:EE66 и O66 применяем «Обычный» с учётным числовым форматом, к K66 — «ТРЕВОГА». В EE66 сумма должна охватывать диапазон от $P$18 до EE18 и использовать флаг EE58. Начало суммирования остаётся фиксированным и не сдвигается к началу каждого года.
Шаг 13 / Номер выплаты / Сверка в Excel
Ставки и номера выплат: подписи
Сопоставляем адреса и значения со своей рабочей книгой. Это результат предыдущего шага.

Шаг 13 / Номер выплаты / Сверка в Excel
Ставки и номера платежей
Первые и последние кварталы выплат.




Оформление / Подписи и единицы
Сохраняем различие параметров, флагов и проверок
На «Исходные данные» используем «Заголовок1(к)» для B243, «Заголовок3» для C244, «Заголовок4» для D245/D249. На «Расчеты»: B56 — «Заголовок1(к)», C57/C60 — «Заголовок3». Обычные подписи G оформляем «Обычный».
К заполненным ячейкам единиц измерения в столбце H применяем «ед_изм». На исходном листе H246/H250/H254 — «дней», H247 — «Флаг», H251:H253 и H255 — «дата», H256 — «число», H258:H279 и H281 — «Флаг», H284:H305 — «дней». Подпись «Флаг» относится к матрице календаря; даты самих купонов находятся в J.
На «Расчеты» H58:H59 — «Флаг», H61 — «% в год», H63:H65 — «% за период», H66 — «Число». L251:L252 и L259:L279 сохраняют «Обычный» с учётным числовым форматом. Нулевой контроль оформляется «ТРЕВОГА» и отображается как Ok.
Для флагов создаём условное форматирование: «Главная → Условное форматирование → Правила выделения ячеек → Равно», значение 1, затем «Пользовательский формат». Задаём шрифт и цвет фона #4EA72E (RGB 78, 167, 46), белый цвет узора #FFFFFF и восходящую диагональную штриховку. Это оформление действует только на единицы; именованный стиль «Флаг» сам по себе такого правила не создаёт.
| Лист | Область одного правила |
|---|---|
| Исходные данные | $P$247:$EE$247 |
| Исходные данные | $P$259:$EE$279;$P$281:$EE$281 |
| Расчеты | $P$58:$EE$59 |
Создаём по одному правилу для каждой строки таблицы. Для двух несмежных областей выбираем первую, затем вторую с Ctrl. В «Управление правилами» проверяем условие «значение ячейки равно 1» и поле «Применяется к». Существующие правила верхнего календаря сохраняются.
Самопроверка / Платёжный календарь
Сохраняем общую основу расчёта долга
- Проверяем 01.11.2015 → 31.10.2022, 791 день без начисления, 20 выплат и последний купон 55 дней.
- Сопоставляем O247, O281, O58, O59 и O66: каждое значение равно 20. K252, K279, K281, K305 и K66 должны быть нулевыми.
- Проверяем 791 + 1765 = 2556 и отдельное значение J150 = 2557, которое включает обе крайние даты.
- После конца активного проекта, в CB64:EE65, не должно быть деления на ноль. Формулы этих строк должны возвращать один пробел.
- На «Исходные данные» группируем созданные строки 244:305. На «Расчеты» сначала группируем 57:66, затем создаём внутри неё отдельные группы 57:59 и 61:66. Будущие строки не группируем.
- Для G243:G305 и G56:G66 включаем перенос текста и подбираем высоту; сохраняем читаемые единицы в H. Убеждаемся, что ширины столбцов позволяют видеть даты, ставки и итоги.
Сохраняем результат как «М05_После_урока_01.xlsx». Новых именованных диапазонов не требуется: используем существующие даты, количество месяцев/кварталов в году и другие имена предыдущих модулей.






























