Как прибавить дни к дате в Excel: от базовых формул до расчётов с выходными

Почему добавление дней к дате в Excel вызывает сложности

На первый взгляд, прибавить несколько дней к дате в Microsoft Excel кажется элементарной задачей. Однако даже опытные пользователи сталкиваются с неожиданными ошибками: формулы возвращают числа вместо дат, результаты сбиваются при копировании, а календарные расчёты игнорируют выходные. Всё дело в том, что Excel хранит даты как последовательные числа (начиная с 1 января 1900 года = 1), а не в привычном текстовом формате.

Добавляет сложности и разнообразие задач: иногда нужно просто сдвинуть дату на фиксированное количество дней, а иногда — рассчитать рабочие дни с учётом праздников или исключить выходные. В этой статье разберём 5 рабочих способов прибавления дней к дате — от базовых до продвинутых, с примерами формул и типичными ошибками.

Особое внимание уделим скрытым ловушкам Excel, из-за которых формулы могут давать сбой: например, почему =А1+30 в одном файле показывает дату, а в другом — число, или как правильно обрабатывать даты до 1900 года (которые Excel по умолчанию не поддерживает).

Способ 1: Простое сложение (базовый метод)

Самый очевидный способ — сложить дату с числом дней напрямую. Excel автоматически преобразует результат в формат даты, если ячейка отформатирована соответствующим образом.

Формула:

=A1 + количество_дней

Где A1 — ячейка с исходной датой, а количество_дней — число или ссылка на ячейку с числом.

  • Плюсы: максимально просто, работает во всех версиях Excel.
  • ⚠️ Минусы: не учитывает выходные, праздники или рабочие календари.
  • 📌 Пример: =B2+14 прибавит 14 дней к дате в ячейке B2.
⚠️ Внимание: Если после ввода формулы вы видите число (например, 45678) вместо даты, измените формат ячейки на Дата через контекстное меню или клавиши Ctrl+1.

☑️ Проверка перед использованием простого сложения

Выполнено: 0 / 4

Способ 2: Функция ДАТАМЕС для добавления месяцев и дней

Функция ДАТАМЕС (англ. EDATE) обычно используется для добавления месяцев, но с её помощью можно и прибавлять дни — если комбинировать с другими функциями. Однако для чистого добавления дней она не подходит. Вместо неё лучше использовать:

Функция ДАТА:

=ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1) + количество_дней)

Эта формула разбирает исходную дату на год, месяц и день, затем прибавляет дни к компоненту "день". Полезно, если нужно избежать автоматического переноса на следующий месяц (например, при добавлении дней к 31 января).

Исходная дата Добавлено дней Результат =A1+дни Результат через ДАТА
31.01.2026 1 01.02.2026 01.02.2026
31.01.2026 30 02.03.2026 02.03.2026
28.02.2026 2 01.03.2026 02.03.2026

Как видно из таблицы, разница проявляется только при работе с последними днями месяца. Для большинства задач достаточно простого сложения (=A1+дни), но функция ДАТА даёт больший контроль.

📊 Какой способ добавления дней вы используете чаще?
Простое сложение (=A1+дни)
Функцию ДАТА
Функции РАБДЕНЬ/ЧИСТРАБДНИ
Другое

Способ 3: Учёт выходных с функцией РАБДЕНЬ

Если нужно прибавить только рабочие дни (исключая субботу и воскресенье), используйте функцию РАБДЕНЬ (англ. WORKDAY). Она автоматически пропускает выходные и возвращает дату, отстоящую на заданное количество рабочих дней.

Синтаксис:

=РАБДЕНЬ(начальная_дата; количество_дней; [праздники])
  • начальная_дата — ячейка с датой или дата в формате ДАТА.
  • количество_дней — сколько рабочих дней нужно прибавить.
  • [праздники] — необязательный диапазон с датами праздников (исключаются из расчёта).

Примеры:

=РАБДЕНЬ(A1; 10)  

=РАБДЕНЬ("15.05.2026"; 5; D2:D5)

⚠️ Внимание: Функция РАБДЕНЬ считает выходными только субботу и воскресенье. Если у вас другой график (например, рабочая суббота), используйте РАБДЕНЬ.МЕЖД (англ. WORKDAY.INTL), где можно задать свои выходные дни.
Как указать нестандартные выходные в РАБДЕНЬ.МЕЖД?

Функция РАБДЕНЬ.МЕЖД имеет дополнительный параметр [выходные], где можно задать дни недели как выходные. Например:

  • =РАБДЕНЬ.МЕЖД(A1; 5; ; 11) — выходные: воскресенье (1) и пятница (5, в некоторых странах).
  • =РАБДЕНЬ.МЕЖД(A1; 10; ; "0000011") — выходные: суббота и воскресенье (стандартный режим).

Подробнее о кодах дней недели см. в справке Excel.

Способ 4: Добавление дней с учётом праздников

Для точных расчётов (например, в бухгалтерии или логистике) часто нужно исключать не только выходные, но и праздничные дни. В этом случае комбинируйте РАБДЕНЬ с диапазоном праздников.

Пример: Допустим, в ячейках D2:D6 перечислены праздники (например, 01.01.2026, 07.01.2026 и т.д.). Формула прибавит 15 рабочих дней, исключив и выходные, и праздники:

=РАБДЕНЬ(A1; 15; D2:D6)

Как подготовить список праздников:

  1. Создайте отдельный лист (например, Праздники).
  2. В первом столбце перечислите даты праздников в формате Дата.
  3. Используйте именованный диапазон (вкладка Формулы → Присвоить имя), чтобы ссылаться на список как =РАБДЕНЬ(A1; 10; Праздники).

Если праздники повторяются ежегодно (например, 8 марта), можно сгенерировать их автоматически с помощью функции ДАТА:

=ДАТА(ГОД(СЕГОДНЯ()); 3; 8)  

Способ 5: Динамическое добавление дней с учётом условий

Иногда количество добавляемых дней зависит от внешних условий. Например, нужно прибавить 5 дней к дате, если сумма в столбце B превышает 1000, и 10 дней — в противном случае. Для этого используйте ЕСЛИ (англ. IF) вместе с функциями даты.

Пример 1. Простое условие:

=A1 + ЕСЛИ(B1 > 1000; 5; 10)

Пример 2. Сложное условие с РАБДЕНЬ:

=РАБДЕНЬ(A1; ЕСЛИ(И(B1 > 1000; C1 = "Да"); 7; 14); Праздники)

Здесь к дате добавляется 7 рабочих дней, если сумма в B1 больше 1000 и в C1 стоит "Да". Иначе — 14 дней.

Пример 3. Динамический срок выполнения:

=РАБДЕНЬ(A1; ВПР(B1; ТаблицаСроков; 2; ЛОЖЬ); Праздники)

Функция ВПР ищет значение из B1 в первой колонке ТаблицаСроков и возвращает количество дней из второй колонки.

⚠️ Внимание: При использовании ЕСЛИ внутри функций даты следите за типами данных. Excel может неявно преобразовывать даты в числа, что приведёт к ошибкам. Например, =ЕСЛИ(A1 > ДАТА(2026;1;1); A1+5; A1+10) сравнивает даты как числа, а не как календарные значения.

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

Даже простые операции с датами в Excel могут давать сбои. Вот 5 самых распространённых ошибок и способы их исправления:

  • 🔢 Формула возвращает число вместо даты: Измените формат ячейки на Дата (выделите ячейку → Ctrl+1 → категория Дата).
  • 📅 Некорректная дата (например, 32.01.2026): Excel автоматически переносит "лишние" дни на следующий месяц. Если нужно избежать этого, используйте функцию ДАТА с проверкой.
  • Ошибка #ЗНАЧ!: Проверьте, что в ячейке с датой нет текста или скрытых символов (например, пробела перед датой). Используйте ДАТАЗНАЧ для преобразования текста в дату: =ДАТАЗНАЧ(A1) + 5.
  • 🔄 Формула не копируется корректно: Зафиксируйте ссылки на ячейки с помощью $ (например, $A$1), если они не должны изменяться при копировании.
  • 🌍 Проблемы с региональными настройками: Excel может интерпретировать 01.02.2026 как 1 февраля или 2 января в зависимости от настроек системы. Используйте ДАТА для однозначности: =ДАТА(2026; 2; 1).

Если дата отображается как ######, это означает, что столбец слишком узкий — расширьте его или измените формат на Общий, чтобы увидеть число, соответствующее дате.

Продвинутые техники: массивы и Power Query

Для обработки больших объёмов данных или сложных правил добавления дней полезно использовать:

1. Формулы массива

Если нужно прибавить разное количество дней к списку дат на основе условий, используйте ИНДЕКС + ПОИСКПОЗ или ВПР с массивами. Например, чтобы прибавить дни из столбца B к датам в столбце A, но только если значение в столбце C равно "Да":

=ЕСЛИ(C1:C10 = "Да"; A1:A10 + B1:B10; A1:A10)

Введите формулу как формулу массива (в новых версиях Excel просто нажмите Enter, в старых — Ctrl+Shift+Enter).

2. Power Query

Для автоматизации добавления дней к тысячам строк:

  1. Загрузите данные в Power Query (Данные → Получить данные → Из таблицы/диапазона).
  2. Добавьте пользовательский столбец с формулой типа = [DateColumn] + #duration(5,0,0,0) (прибавляет 5 дней).
  3. Загрузите результат обратно в Excel.

3. VBA для сложной логики

Если нужна гибкость (например, добавление дней с учётом производственного календарья), напишите простую функцию на VBA:

Function AddWorkDays(startDate As Date, days As Integer) As Date

Dim i As Integer

Dim currentDate As Date

currentDate = startDate

For i = 1 To days

currentDate = currentDate + 1

Do While Weekday(currentDate, vbMonday) >= 6 Or IsHoliday(currentDate)

currentDate = currentDate + 1

Loop

Next i

AddWorkDays = currentDate

End Function

Function IsHoliday(d As Date) As Boolean

' Здесь добавьте логику проверки праздников

IsHoliday = False

End Function

Теперь в Excel можно использовать =AddWorkDays(A1; 10).

FAQ: Ответы на частые вопросы

Можно ли прибавить дни к дате в формате текста (например, "15 января 2026")?

Да, но сначала преобразуйте текст в дату с помощью ДАТАЗНАЧ или ЗНАЧЕН:

=ДАТАЗНАЧ("15 января 2026") + 10

Если формат нестандартный (например, "15-янв-24"), используйте ПОДСТАВИТЬ + ДАТАЗНАЧ или Power Query.

Почему после сложения даты и дней результат отображается как время (например, "12:00:00")?

Excel хранит даты и время как дробные числа (целая часть — дата, дробная — время). Если вы видите время, измените формат ячейки на Дата или используйте =ЦЕЛОЕ(A1 + дни), чтобы отбросить временную часть.

Как прибавить дни к текущей дате?

Используйте функцию СЕГОДНЯ (англ. TODAY):

=СЕГОДНЯ() + 7  

Обратите внимание: СЕГОДНЯ() обновляется при каждом открытии файла.

Можно ли прибавить дни к дате в условном форматировании?

Да, но косвенно. Создайте вспомогательный столбец с формулой (например, =A1 + 30), затем используйте его в правилах условного форматирования. Например, чтобы выделить строки, где дата в столбце A плюс 30 дней меньше сегодняшней:

=И($A1 + 30 < СЕГОДНЯ())
Как прибавить дни к дате в Google Таблицах?

Принцип тот же, что и в Excel, но функции называются по-английски:

=A1 + 5  

=WORKDAY(A1; 10; Holidays!A:A)

Обратите внимание: в Google Таблицах даты начинаются с 30 декабря 1899 года (а не с 1900 года, как в Excel).