Гид по технологиям

Амортизация кредита с переменной процентной ставкой в Excel

10 min read Финансы Обновлено 23 Dec 2025
Амортизация кредита с переменной ставкой в Excel
Амортизация кредита с переменной ставкой в Excel

Иллюстрация схемы жилищного кредита

Когда вы должны банку, выписка обычно показывает только суммарную информацию. Банки умеют считать остаток и срок, но подробную амортизацию по переменной ставке они редко присылают автоматически. Если ставка фиксированная — иногда есть онлайн-калькуляторы, но для переменных ставок придётся подготовить таблицу самостоятельно. В этом руководстве вы найдёте практическую методику построения амортизационной таблицы в Excel для кредитов с плавающей процентной ставкой, готовые формулы, рекомендации по валидации и сценарному моделированию.

Что понадобится перед началом

Перед созданием таблицы убедитесь, что у вас есть следующие данные:

  • Общая сумма кредита (Principal)
  • Срок кредита в годах
  • Частота платежей в год (обычно 12 для ежемесячных)
  • Правила изменения ставки (например: 5/1 ARM — фиксированная ставка 5 лет, затем ежегодная корректировка)

Краткое определение: PMT — функция Excel для расчёта размера платежа по кредиту с постоянными платежами и постоянной процентной ставкой за период.

Общая структура таблицы

Расставьте столбцы в таком порядке — он удобен для вычислений и читаемости:

  • Payment Period — номер периода (0, 1, 2, …)
  • Payment Amount — сумма платежа за период
  • Interest Paid — часть платежа, идущая на проценты
  • Principal Paid — часть платежа, уменьшающая основную задолженность
  • Loan Balance — остаток основного долга после платежа
  • Annual Interest Rate — годовая ставка, применимая к данному периоду
  • Lump-Sum Payment — разовые досрочные платежи, если есть

Пример заголовков в первой строке таблицы:

Payment PeriodPayment AmountInterest PaidPrincipal PaidLoan BalanceAnnual Interest RateLump-Sum Payment

Ввод начальных данных в Excel

Подготовка фиксированных значений

  1. Введите в отдельную область (например, в ячейки C1–C4) исходные параметры: Total Loan Amount, Term (years), Payments per year, Start date (опционально).
  2. В столбце Payment Period начните с 0 (или 1, если хотите считать только платежи) — обычно удобнее положить 0 как исходный баланс до первого платежа.
  3. Пронумеруйте ряды 0..N, где N = term * payments_per_year. Для 20 лет и ежемесячных платежей N = 240.

Совет: выделите первые три номера периодов (0, 1, 2), захватите маркер заполнения и протяните вниз до нужного числа (240) — Excel автоматически заполнит последовательность.

Ввод стартовой информации в амортизационной таблице

Под Loan Balance для периода 0 укажите ссылку на ячейку с общей суммой кредита (например, =C1). Остальные поля оставьте пустыми — ими займутся формулы.

В столбце Annual Interest Rate введите применимую ставку для каждого периода. Для ARM 5/1 первые 5 лет (60 периодов при ежемесячных платежах) будут иметь одну ставку, затем вы подставляете ставки по мере корректировок.

Формулы — пошагово

Ниже показаны ключевые формулы и пояснения. В примерах используются ссылки на ячейки, сопоставимые с примером статьи: Payments per year в $C$3, общий баланс в E6 (период 0), текущая ставка в F7 и так далее. Подставляйте свои адреса ячеек.

  1. Размер платежа (Payment Amount)
=-PMT(RATE,NPER,PV)
  • RATE — годовая ставка за период, делённая на число платежей в году (например, F7/$C$3).
  • NPER — оставшееся количество платежей: используйте COUNT или вычислите как ($A$245 - A7 + 1) при абсолютной ссылке на последний период.
  • PV — текущая незакрытая сумма долга (обычно ячейка Loan Balance предыдущего периода, например E6).

Пример готовой формулы для ячейки B7 (Payment Amount для периода 1):

=-PMT(F7/$C$3, COUNT($A$6:$A$245), $E$6)

Почему знак минус? Функция PMT возвращает отрицательное значение, если PV положителен; минус перед PMT даст положную сумму платежа для удобства отчёта.

  1. Процентная часть платежа (Interest Paid)
=E6*(F7/$C$3)

Где E6 — остаток долга до платежа (Loan Balance предыдущего периода), F7 — годовая ставка для текущего периода, $C$3 — число платежей в году.

  1. Погашение основного долга (Principal Paid)
=B7-C7

Где B7 — общий платёж, C7 — начисленные проценты.

  1. Остаток долга после платежа (Loan Balance)
=E6-B7-G7

Где G7 — сумма досрочных платежей (Lump-Sum Payment) в текущем периоде. Если досрочных нет, G7 = 0.

Формула расчёта платежа в Excel

Формула расчёта процентной части платежа

Формула расчёта погашения основного долга

Формула расчёта остатка долга

После того как формулы введены в строку первого платежа (период 1), скопируйте эти ячейки и протяните их вниз до последнего периода. Excel автоматически пересчитает ссылки, учитывайте абсолютные ссылки ($) там, где ссылка на константу должна оставаться одной и той же.

Как работать с переменными ставками: практические шаблоны

Сценарий 1 — заранее известные корректировки по годам

  • Введите в отдельный блок периоды корректировок (например, строки с датами пересмотра и новыми ставками).
  • Используйте функцию VLOOKUP или INDEX+MATCH (или новее XLOOKUP), чтобы подтянуть ставку для каждого периода по дате или номеру периода.

Пример использования INDEX+MATCH для подтягивания ставки по номеру периода:

=INDEX(Adjustments!$B$2:$B$12, MATCH(A7, Adjustments!$A$2:$A$12, 1))

Где Adjustments — лист с таблицей (PeriodStart, AnnualRate).

Сценарий 2 — ставка меняется по формуле (например, индекс + маржа)

  • Подготовьте столбец, где рассчитываете ставку как BaseIndex * Factor + Margin.
  • Подставляйте результат в столбец Annual Interest Rate.

Важно: ставка в PMT всегда указывается в ставке за период (годовая делённая на число платежей в году), поэтому не забудьте переводить годовую в периодическую.

Как учитывать досрочные платежи

Lump-Sum Payment учитывается прямо в формуле остатка: Loan Balance = Previous Balance - Payment Amount - Lump-Sum. Если вы вносите значительные досрочные платежи, количество периодов при том же размере платежа уменьшится; либо вы можете пересчитать Payment Amount, чтобы сохранить график и сократить срок. Для перерасчёта можно использовать функцию NPER или PMT заново, в зависимости от цели:

  • Сохранить платёж, уменьшить срок: пересчитайте NPER через функцию NPER.
  • Сохранить срок, уменьшить платёж: пересчитайте PMT, подставив новый PV.

Советы по округлению и точности

  • Избегайте ошибок накопления из‑за округления: храните внутренние вычисления с максимальной точностью и показывайте пользователю округлённые значения.
  • В итоговой строке используйте проверку суммы процентов и основного: начальный баланс минус сумма всех Principal Paid и Lump-Sum должна быть ≈ 0. Если остаток не ноль, проверьте ссылки и копирование формул.

Защита формул и визуализация

  • После заполнения таблицы выделите диапазон с формулами и примените заливку или цвет шрифта, чтобы визуально отличать вводимые поля от вычисляемых.
  • Заблокируйте лист или ячейки с формулами (Review → Protect Sheet), если вы делитесь таблицей.
  • Используйте условное форматирование для строки, когда Loan Balance <= 0: например, подсветить зелёным завершённые периоды.

Заполнение остальной части таблицы формулами

Проверки правильности (чеклист валидации)

  • Сумма всех Principal Paid + сумма всех Lump-Sum Payments + остаток на последнем периоде = начальный Loan Balance.
  • Сумма всех Interest Paid соответствует ожидаемому диапазону для ваших ставок (нет резких скачков без изменения ставки).
  • При фиксированной ставке амортизация совпадает с результатом стандартного калькулятора PMT на весь срок.
  • Периоды с нулевой ставкой корректно обрабатываются (Interest Paid = 0).

Эксперименты и сценарии

Вы можете изменять входные параметры и видеть эффекты в реальном времени:

  • Меняйте годовую ставку в конкретных периодах, чтобы смоделировать эффект повышения/понижения ставки.
  • Вводите регулярные досрочные платежи (например, ежемесячно +1000) и сравните общий выплаченный процент и срок.
  • Сравните сохранение месячного платежа против перерасчёта платежа при изменении ставки.

Совет: создайте отдельный лист «Сценарии», где храните разные наборы ставок/досрочных платежей и используйте ссылку на основной лист для переключения сценариев (Data → Data Validation → список сценариев).

Альтернативные подходы

  • Google Sheets: все приведённые формулы работают в Google Sheets; разница — названия некоторых функций и возможности совместной работы в реальном времени.
  • Специализированные калькуляторы и программное обеспечение (бухгалтерия/кредитные системы): дают дополнительные отчёты и калькуляции налоговых последствий, но часто не позволяют гибко моделировать произвольные сценарии.
  • Скрипт на Python: для автоматизации большого числа сценариев удобно генерировать таблицы программно (pandas, openpyxl), особенно для портфеля кредитов.

Типичные ошибки и как их избежать

  • Ошибка: применение годовой ставки напрямую в PMT без деления на число платежей в году. Следствие — заниженный или завышенный платёж.
  • Ошибка: использование неверного NPER (вместо оставшихся периодов передаётся общее количество), что искажает график.
  • Ошибка: забыли зафиксировать ссылку на последний период (абсолютная ссылка $A$245), в результате при протягивании NPER смещается.

Критерии приёмки

  • Таблица корректно заполняет все периоды до момента, когда Loan Balance <= 0.
  • При подстановке устойчивого фиксированного набора ставок график совпадает с результатом стандартного фиксированного расчёта.
  • При внесении досрочных платежей итоговый выплаченный процент уменьшается по сравнению с базовым сценарием.
  • Все формулы защищены и снабжены комментариями или подписями с указанием логики.

Роль‑ориентированные чеклисты

Для владельца кредита:

  • Проверьте, что начальная сумма и график платежей соответствуют кредитному договору.
  • Моделируйте сценарии повышения ставки на 1–3 процентных пункта.
  • Проверьте эффект досрочных платежей.

Для финансового аналитика:

  • Убедитесь, что ссылки на ставки корректно подгружаются из источника.
  • Напишите тестовые кейсы с известными результатами для контроля корректности формул.

Для бухгалтера / контролёра:

  • Проверьте согласованность сумм процентов и основного с отчетностью.
  • Убедитесь в корректности округлений и сумм в итоговой строке.

Набор тестов / критерии приёмки

  1. Тест 1 — фиксированная ставка: задайте фиксированную годовую ставку, сравните итоговый ежемесячный платёж с внешним калькулятором.
  2. Тест 2 — ARM: введите фиксированную ставку первые 60 месяцев, затем увеличьте ставку — проверьте, что платежи/срок меняются согласно логике.
  3. Тест 3 — досрочное погашение: внесите одноразовую крупную выплату в середине срока и проверьте уменьшение остатка и/или срока.

Ментальные модели и эвристики

  • “Процент сначала”: в начале срока большая часть платежа идёт на проценты, по мере амортизации — доля погашения основного растёт.
  • “Досрочные платежи эквивалентны капиталу”: каждое рублёво-валютное уменьшение баланса снижает будущие начисления процентов тем же фактором на оставшийся срок.
  • “Пересчёт двух вариантов”: при изменении ставки решите заранее — фиксировать платёж и менять срок или фиксировать срок и менять платёж.

Пример: полный проход для 20 лет, $5,000,000, ежемесячно

Исходные данные:

  • Total Loan Amount = $5,000,000
  • Term = 20 лет
  • Payments per year = 12
  • Первые 5 лет ставка = 3.57% годовых, затем переменные значения (подставляйте реальные данные)

Шаги:

  1. Разверните Payment Period 0..240.
  2. В E6 (Loan Balance, Period 0) введите =C1 (Total Loan Amount).
  3. В F6:F65 введите 3.57% для первых 60 месяцев.
  4. В B7 введите формулу платежа: =-PMT(F7/$C$3, COUNT($A$6:$A$245), $E$6)
  5. В C7: =E6*(F7/$C$3)
  6. В D7: =B7-C7
  7. В E7: =E6-B7-G7
  8. Скопируйте B7:E7 вниз до строки 246 (последний период) и проверьте итог.

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Начало: есть данные по кредиту?] -->|Да| B[Задать параметры: сумма, срок, платежи/год]
  A -->|Нет| Z[Собрать данные в кредитном договоре]
  B --> C{Ставка фиксированная?}
  C -->|Да| D[Использовать стандартный PMT для всех периодов]
  C -->|Нет| E[Ввести столбец годовых ставок по периодам]
  E --> F[Использовать -PMT с RATE=F_i/платежи]
  F --> G{Есть досрочные платежи?}
  G -->|Да| H[Учесть Lump-Sum в остатке долга]
  G -->|Нет| I[Протянуть формулы до конца срока]
  H --> I
  I --> J[Проверка: итоговый остаток ≈ 0?]
  J -->|Да| K[Готово]
  J -->|Нет| L[Отладить ссылки и округления]

Частые вопросы

Q: Что делать, если ставка корректируется несколько раз в течение года?

A: Разбейте год на периоды с отдельными ставками — если корректировки грубо совпадают с датами платежей, используйте отдельную ставку для каждого платежного периода. Если корректировка внутри периода — нужно аппроксимировать или перейти на более мелкие периоды расчёта.

Q: Как рассчитать новый платёж при повышении ставки?

A: Пересчитайте PMT с тем же PV (текущий остаток) и новым NPER (оставшиеся периоды) и новой RATE (годовая/платежи в году).

Глоссарий (одна строка каждый)

  • PMT — функция для расчёта размера аннуитетного платежа.
  • PV — текущая приведённая стоимость, в нашем случае остаток долга перед платёжом.
  • NPER — количество оставшихся периодов платежа.
  • Lump-Sum Payment — однократный досрочный платёж.

Резюме

Собрав таблицу по инструкции, вы получаете гибкий инструмент для моделирования кредитных сценариев: изменение процентной ставки, досрочные платежи, сравнение альтернатив. Таблица в Excel легко масштабируется и адаптируется под банковские данные. Проверяйте формулы через тестовые кейсы, защищайте вычисляемые диапазоны и документируйте сценарии для будущих расчётов.

График амортизационного графика с переменной ставкой

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Форматирование диска в Ubuntu — пошагово
Linux

Форматирование диска в Ubuntu — пошагово

Агрегационный pipeline в MongoDB — руководство
Базы данных

Агрегационный pipeline в MongoDB — руководство

Горячие клавиши Zoom — руководство и шпаргалка
Продуктивность

Горячие клавиши Zoom — руководство и шпаргалка

Регистрация пользователей на Python с SQLite
Python

Регистрация пользователей на Python с SQLite

Как изменить имя в Zoom — быстро и надёжно
Инструкции

Как изменить имя в Zoom — быстро и надёжно

Как передать права хоста в Zoom
Zoom

Как передать права хоста в Zoom