Автоматизация расчета подоходного налога в таблицах

Иван Корнев·11.04.2026·3 мин

Чтобы рассчитать НДФЛ в Excel, используйте базовую формулу: =(Доход - Вычеты) * Ставка. Для резидентов РФ основная ставка составляет 13% (или 15% при доходе свыше 5 млн руб. в год). В таблице это выглядит так: =МАКС(0; (Ячейка_Дохода - Ячейка_Вычетов) * 0,13). Функция МАКС гарантирует, что налог не станет отрицательным, если вычеты превышают доход.

Подготовка данных и структура таблицы

Для корректного расчета создайте таблицу со следующими столбцами. Такая структура позволит легко масштабировать расчет на любое количество сотрудников и периодов.

СтолбецНазначениеПример данных
AФИО сотрудникаИванов И.И.
BДоход за период (грязными)85 000
CСтандартные вычеты1 400
DСоциальные/Имущ. вычеты0
EНалоговая база(формула)
FСумма НДФЛ(формула)
GЧистый доход (на руки)(формула)

Используйте формат ячеек «Денежный» или «Числовой» с двумя знаками после запятой для столбцов с суммами, чтобы избежать ошибок округления при визуальной проверке.

Базовые формулы для разных сценариев

Простой расчет (без вычетов)

Если сотрудник не имеет права на вычеты, налоговая база равна всему доходу.

  • Формула НДФЛ (ячейка F2): =B2 * 0,13
  • Формула на руки (ячейка G2): =B2 - F2

Расчет с учетом вычетов

Наиболее частый сценарий, включающий вычеты на детей, лечение или обучение.

  • Налоговая база (ячейка E2): =МАКС(0; B2 - (C2 + D2))
    • Логика: Мы вычитаем сумму всех вычетов из дохода. Функция МАКС(0; ...) нужна на случай, если вычеты больше зарплаты (база не может быть отрицательной).
  • НДФЛ (ячейка F2): =E2 * 0,13
  • На руки (ячейка G2): =B2 - F2

Не применяйте вычеты к сумме «на руки». Вычеты уменьшают именно налоговую базу, с которой считается процент, а не итоговую выплату.

Учет прогрессивной шкалы налогообложения

С 2021 года в РФ действует прогрессивная шкала: если совокупный доход физического лица с начала года превышает 5 000 000 рублей, сумма превышения облагается по ставке 15%.

Для автоматического учета этого условия используйте функцию ЕСЛИ:

=ЕСЛИ(Накопленный_Доход > 5000000; 
      (Накопленный_Доход - 5000000) * 0,15 + 650000; 
      Накопленный_Доход * 0,13)

В контексте ежемесячной таблицы, где нужно считать налог только за текущий месяц с учетом накопленного итога:

  1. Создайте столбец H «Накопленный доход с начала года».
  2. Используйте формулу для текущего месяца: =ЕСЛИ(H2 > 5000000; (H2-5000000)*0,15 + (5000000*0,13); H2*0,13) - Налог_Уже_Уплаченный

Для упрощения в месячных отчетах часто используют вспомогательную ячейку со ставкой, которая меняется в зависимости от условия, либо разбивают расчет на две части (до лимита и сверх лимита).

Частые ошибки при расчете

  • Отрицательный налог. Возникает, если просто вычесть вычеты из дохода без функции МАКС(0; ...). Если вычеты больше зарплаты, налог должен быть равен 0, а не уходить в минус.
  • Неверный порядок действий. Ошибка (Доход * 0,13) - Вычеты. Это математически неверно. Сначала из дохода вычитаются льготы, и только остаток умножается на процент.
  • Игнорирование накопительного итога. При расчете прогрессивной ставки (15%) важно учитывать доход нарастающим итогом с января, а не только за текущий месяц.
  • Текстовый формат чисел. Если данные импортированы из 1С или другой системы, суммы могут быть текстом. Формулы вернут ошибку #ЗНАЧ!. Используйте «Текст по столбцам» для исправления.

FAQ

Как сделать так, чтобы ставка 13% менялась автоматически при изменении закона? Вынесите ставку в отдельную ячейку (например, Z1) и назвите её «Ставка_НДФЛ». В формулах ссылаетесь на $Z$1. При изменении законодательства вам нужно будет поменять число только в одной ячейке.

Можно ли рассчитать НДФЛ для нерезидентов? Да, логика та же, но меняется ставка. Для нерезидентов она обычно составляет 30% (или 13%/15% для отдельных категорий граждан ЕАЭС и высококвалифицированных специалистов). Просто замените 0,13 на 0,3 или нужное значение в формуле.

Как скрыть нулевой налог в ячейках? Используйте условное форматирование или настройте формат ячеек: 0,00;-0,00;;@. Последний разделитель перед @ скрывает нулевые значения.