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

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

На первый взгляд, сложить дни в Microsoft Excel кажется простой задачей: взял две ячейки с датами, вычел одну из другой — и получил разницу. Но на практике даже опытные пользователи сталкиваются с неожиданными результатами: вместо чисел появляются даты в формате 44197, формулы возвращают ошибку #ЗНАЧ!, а сумма рабочих дней не совпадает с календарём. Всё потому, что Excel хранит даты не как текст, а как порядковые номера, где 1 — это 1 января 1900 года.

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

1. Базовое сложение: как прибавить дни к дате

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

В Excel для этого не нужны сложные функции. Достаточно использовать арифметический оператор +:

  • 📅 В ячейке A1 указана дата начала: 15.05.2026
  • ➕ В ячейке B1 введите количество дней: 30
  • = В ячейке C1 напишите формулу: =A1+B1

Результат: 14.06.2026. Excel автоматически преобразует число дней в дату, учитывая количество дней в месяце (включая февраль в високосные годы).

ФормулаПримерРезультатПояснение
=A1+5A1=10.01.202615.01.2026Прибавляет 5 дней к дате в A1
=ДАТА(2026;5;15)+1025.05.2026Создаёт дату 15 мая 2026 и прибавляет 10 дней
=СЕГОДНЯ()+30Текущая дата + 30 днейДинамически считает дату через 30 дней от сегодня
⚠️ Внимание: Если в ячейке с датой стоит текстовый формат (например, после импорта из CSV), Excel воспримет её как текст, и формула вернёт ошибку. Проверьте формат ячейки или используйте функцию ДАТАЗНАЧ() для преобразования.

2. Функция ДАТА(): как создать дату из отдельных компонентов

Часто даты хранятся в таблице по частям: день в одном столбце, месяц — в другом, год — в третьем. Чтобы сложить их в полноценную дату, используйте функцию ДАТА(год; месяц; день).

Пример: в таблице указаны сроки выполнения задач — день в столбце A, месяц в B, год в C. Нужно получить финальную дату в формате дд.мм.гггг:

=ДАТА(C2; B2; A2)

А теперь — как прибавить дни к такой "собранной" дате:

=ДАТА(C2; B2; A2) + D2

где D2 — ячейка с количеством дней.

  • 🔢 Аргументы функции ДАТА() могут быть не только числами, но и ссылками на ячейки.
  • 📆 Если указать месяц 13, Excel автоматически перенесёт его на следующий год (например, ДАТА(2026;13;1) станет 01.01.2026).
  • ❌ Ошибка #ЧИСЛО! появится, если день превышает количество дней в месяце (например, ДАТА(2026;2;30) для февраля).

Год указан четырёхзначным числом (например, 2026, а не 24)|

Месяц не превышает 12 (или использует автоперенос)|

День соответствует количеству дней в месяце|

Формат ячейки с результатом — "Дата"-->

3. Суммирование рабочих дней: функция РАБДЕНЬ()

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

Пример: проект стартует 01.06.2026 и длится 10 рабочих дней. Какой будет дедлайн?

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

Результат: 13.06.2026 (пропускает 8 и 9 июня — субботу и воскресенье).

Чтобы исключить праздники (например, 12 июня — День России), укажите их в третьем аргументе как диапазон ячеек:

=РАБДЕНЬ("01.06.2026"; 10; $E$1:$E$5)

где E1:E5 — список праздничных дат.

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

Использую функцию РАБДЕНЬ с диапазоном праздников|

Ввожу праздники вручную в календарь|

Не учитываю — работаю по стандартным выходным|

Другое-->

ФункцияСинтаксисПримерКогда использовать
РАБДЕНЬ=РАБДЕНЬ(нач_дата; дни; [праздники])=РАБДЕНЬ("01.06.2026"; 5)Стандартные выходные (сб, вс)
РАБДЕНЬ.МЕЖД=РАБДЕНЬ.МЕЖД(нач_дата; дни; выходной; [праздники])=РАБДЕНЬ.МЕЖД("01.06.2026"; 5; 6)Нestandartные выходные (например, пятница)
ЧИСТРАБДНИ=ЧИСТРАБДНИ(нач_дата; кон_дата; [праздники])=ЧИСТРАБДНИ("01.06.2026"; "15.06.2026")Подсчёт рабочих дней в период

4. Разница между датами: функция РАЗНДАТ()

Чтобы узнать, сколько дней прошло между двумя датами, используйте функцию РАЗНДАТ(нач_дата; кон_дата; "d"). Она возвращает разницу в днях, игнорируя месяцы и годы.

Пример: сколько дней длился проект с 10.01.2026 по 25.02.2026?

=РАЗНДАТ("10.01.2026"; "25.02.2026"; "d")

Результат: 46 дней.

Ключевые нюансы:

  • 🔄 Порядок дат важен: РАЗНДАТ("25.02"; "10.01"; "d") вернёт отрицательное число.
  • 📅 Функция учитывает високосные годы (например, февраль 2026 имеет 29 дней).
  • ⚠️ Аргумент "d" обязателен — он указывает, что результат нужен в днях (а не месяцах или годах).
Почему РАЗНДАТ иногда возвращает неверное количество дней?

Если одна из дат введена как текст (например, после копирования из PDF), Excel не распознаёт её как дату. Используйте ДАТАЗНАЧ() для преобразования:

=РАЗНДАТ(ДАТАЗНАЧ("10.01.2026"); ДАТАЗНАЧ("25.02.2026"); "d")

5. Сложные случаи: переходы на зимнее время, часовые пояса и таймзоны

Excel не учитывает часовые пояса и переходы на зимнее/летнее время при работе с датами. Это означает, что если вы складываете дни для международных проектов, разница во времени может исказить результаты.

Пример: событие начинается 01.03.2026 00:00 по московскому времени (UTC+3) и длится 2 дня. В Нью-Йорке (UTC-5) в это время ещё 28.02.2026 16:00. Если просто прибавить 2 дня к московской дате, в Нью-Йорке получится неверный результат.

Решения:

  • 🌍 Используйте UTC-время как эталон: преобразуйте все даты в UTC+0 перед вычислениями.
  • ⏰ Для точных расчётов с временем используйте функцию ВРЕМЯЗНАЧ() и учитывайте разницу в часах.
  • 📊 В критичных случаях (например, авиабилеты) используйте специализированные инструменты вроде Google Sheets с поддержкой таймзон.
⚠️ Внимание: Excel хранит время как долю дня (например, 0,5 = 12:00). Если вы складываете дни и часы, используйте формат дд.мм.гггг чч:мм для ячеек, чтобы избежать ошибок округления.

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

Ошибка №1: Текст вместо даты. Если дата импортирована из внешнего источника (например, 15-Мая-2026), Excel воспримет её как текст. Решение:

=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1; "-"; "."))

Ошибка №2: Неверный формат ячейки. Дата отображается как число (например, 45342). Решение: выделите ячейку → Ctrl+1 → выберите формат Дата.

Ошибка №3: Игнорирование високосных годов. Функция ДАТА(2026;2;29) сработает (2026 — високосный), а ДАТА(2023;2;29) вернёт ошибку.

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

=ЕЧИСЛО(A1) вернёт ИСТИНА, если в A1 дата или число.-->

7. Продвинутые техники: динамические даты и условное сложение

Если нужно сложить дни с учётом условий (например, прибавить 5 дней только если проект задержан), используйте комбинацию ЕСЛИ() и функций дат:

=ЕСЛИ(B2="Задержан"; ДАТА(2026;5;15)+5; ДАТА(2026;5;15)+2)

Для динамических расчётов (например, "прибавить дни к текущей дате") используйте СЕГОДНЯ():

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

Эта формула всегда будет показывать дату через 14 дней от сегодня.

Если нужно сложить дни в зависимости от значения другой ячейки (например, приоритет задачи), используйте ВЫБОР():

=ДАТА(2026;5;15) + ВЫБОР(C2; 1; 3; 7)

где C2 — ячейка с приоритетом (1 = +1 день, 2 = +3 дня, 3 = +7 дней).

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

Как сложить дни в Excel Online или Google Sheets?

В Excel Online и Google Sheets используются те же функции: ДАТА(), РАБДЕНЬ(), РАЗНДАТ(). Отличие только в разделителях: в Google Sheets аргументы функций разделяются запятыми (=DATE(2026,5,15)), а не точкой с запятой.

Можно ли сложить дни с учётом только будних дней, но без праздников?

Да, используйте РАБДЕНЬ() без третьего аргумента: =РАБДЕНЬ("01.06.2026"; 10) — прибавит 10 рабочих дней, игнорируя только субботу и воскресенье.

Почему при сложении дней получается дата 1900 года?

Это происходит, если вы пытаетесь прибавить дни к пустой ячейке или тексту. Excel интерпретирует пустоту как 0, что соответствует 00.01.1900. Проверьте исходные данные функцией ЕПУСТО().

Как сложить дни с временем (часы и минуты)?

Используйте формат дд.мм.гггг чч:мм для ячеек и функции ВРЕМЯ(): =ДАТА(2026;5;15) + ВРЕМЯ(12;30;0) — прибавит 12 часов 30 минут к дате.

Можно ли автоматически обновлять даты при изменении исходных данных?

Да, если использовать динамические массивы (в Excel 365) или таблицы Excel (вставка → Таблица). При изменении данных в таблице все формулы пересчитываются автоматически.