При попытке сложить ячейки с датами в Excel через стандартную функцию =СУММ() пользователи получают ошибку #ЗНАЧ! или некорректный результат в формате даты. Проблема возникает потому, что Excel хранит даты как последовательные числа (начиная с 1 января 1900 года = 1), а простое сложение этих чисел не даёт ожидаемого результата. Например, сумма 15.03.2026 и 20.03.2026 вернёт 14.06.1905 — бессмысленную дату, а не интервал в 5 дней.
Чтобы правильно работать с датами, нужно либо вычислять разницу между ними (интервал в днях), либо преобразовывать результат суммирования обратно в читаемый формат. В этой статье разберём 5 рабочих методов — от базовых формул до автоматизации через Power Query, а также покажем, как избежать типичных ошибок при работе с временными данными.
Почему Excel не суммирует даты как числа
Excel интерпретирует даты как порядковые номера, где 1 соответствует 1 января 1900 года, 2 — 2 января 1900 года и так далее. Например, дата 10.05.2026 в внутреннем представлении программы — это число 45418. Когда вы применяете =СУММ(A1:B1) к двум датам, Excel складывает именно эти числа, а затем отображает результат снова как дату, что приводит к абсурдным значениям.
Ключевые моменты:
- 📅 Формат ячейки определяет отображение: если ячейка отформатирована как "Дата", Excel всегда будет пытаться преобразовать число в дату.
- ➕ Сложение дат как чисел даёт сумму их внутренних значений, а не интервал между ними.
- ⏳ Для вычисления разницы между датами используйте
=РАЗНДАТ()или просто вычитание (=B1-A1).
Если вам нужно получить суммарный интервал (например, общую продолжительность проектов), придётся использовать обходные пути. О них — в следующих разделах.
Метод 1: Вычисление разницы между датами (интервал в днях)
Самый простой способ "сложить" даты — вычислить разницу между ними, чтобы получить количество дней, месяцев или лет. Это актуально для расчёта продолжительности событий, сроков выполнения задач или возраста.
Формулы для разницы:
- 📊 В днях:
=B1-A1(ячейки должны быть в формате "Общий" или "Числовой"). - 📅 В месяцах/годах:
=РАЗНДАТ(A1; B1; "m")или=РАЗНДАТ(A1; B1; "y"). - ⏱️ В часах/минутах:
=(B1-A1)*24для часов или=(B1-A1)*1440для минут.
Пример: если в A1 указана дата начала проекта 01.01.2026, а в B1 — окончания 31.01.2026, формула =B1-A1 вернёт 30 (дни).
1. Убедитесь, что обе ячейки имеют формат "Дата" (правый клик → "Формат ячеек").
2. Примените к ячейке с результатом формат "Общий" или "Числовой".
3. Для РАЗНДАТ используйте точку с запятой (;) в русскоязычной версии Excel.
4. Проверьте, что в настройках Excel включена поддержка 1900-й системы дат (Файл → Параметры → Дополнительно).
-->
Метод 2: Суммирование дней к базевой дате
Если вам нужно прибавить несколько временных интервалов (например, сроки выполнения этапов проекта) к исходной дате, используйте формулу:
=ДАТАГОД(A1; 0; ДЕНЬ(A1)+СУММ(B1:B5))
Где:
- 📌
A1— ячейка с базовой датой. - 📌
B1:B5— диапазон с количеством дней для добавления.
Альтернативный вариант (если интервалы указаны в днях):
=A1+СУММ(B1:B5)
Важно: ячейка с результатом должна быть отформатирована как "Дата". Иначе Excel отобразит порядковый номер.
Метод 3: Суммирование временных интервалов (часы, минуты)
Для работы с временем (например, суммирования отработанных часов) используйте:
- Формат ячеек с временем: выделите диапазон → правый клик → "Формат ячеек" → "Время".
- Формула суммирования:
=СУММ(A1:B1)(если ячейки в формате времени). - Для отображения суммы >24 часов: установите пользовательский формат
[ч]:мм:сс.
Пример: если в A1 указано 8:30, а в B1 — 9:45, формула =A1+B1 вернёт 18:15 (при стандартном формате) или 18:15:00 (при пользовательском).
⚠️ Внимание: Excel не поддерживает суммирование дат и времени в одной формуле без дополнительных преобразований. Если вам нужно сложить, например,15.03.2026 14:30и2 дня 5 часов, сначала преобразуйте дни в часы (2*24+5=53), а затем добавьте к исходной дате:=A1+(53/24)Метод 4: Использование Power Query для сложных расчётов
Если вам нужно суммировать даты в больших наборах данных с учётом условий (например, только по определённым месяцам), используйте Power Query:
- Выделите исходные данные → вкладка "Данные" → "Из таблицы/диапазона".
- В редакторе Power Query добавьте пользовательский столбец с формулой на языке M:
= Date.AddDays([Дата начала], [Количество дней])Где
[Дата начала]и[Количество дней]— названия ваших столбцов.Преимущества метода:
- 🔄 Автоматическое обновление при изменении исходных данных.
- 📂 Работа с миллионами строк без замедления.
- 🔍 Фильтрация и группировка по датам (например, сумма дней по кварталам).
Пример кода на M для суммирования интервалов по категориям
= Table.Group(#"Предыдущий шаг", {"Категория"}, {{"Сумма дней", each List.Sum([Количество дней]), type number}})
Метод 5: VBA-скрипт для автоматизации
Для повторяющихся задач (например, ежемесячного добавления 30 дней к датам в столбце) напишите макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA.- Вставьте код в модуль:
Sub AddDaysToDates()Dim rng As Range
For Each rng In Selection
If IsDate(rng.Value) Then
rng.Value = DateAdd("d", 30, rng.Value)
End If
Next rng
End Sub
Этот скрипт добавляет 30 дней ко всем выделенным ячейкам с датами.
Чтобы запустить макрос:
- Выделите ячейки с датами.
- Нажмите
Alt + F8, выберитеAddDaysToDates→ "Выполнить".⚠️ Внимание: Перед запуском макроса сохраните файл в формате.xlsm(с поддержкой макросов) и убедитесь, что в настройках безопасности разрешено выполнение VBA (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройка макросов → "Включить все макросы").Типичные ошибки и как их избежать
Ошибки при работе с датами в Excel делятся на 3 категории:
Ошибка Причина Решение #ЗНАЧ!Ячейка содержит текст вместо даты. Проверьте формат ячеек ( Формат → Ячейки → Дата).Некорректная дата (например, 32.01.2026)Опечатка в ручном вводе. Используйте функцию =ДАТА()для создания дат.Результат в формате числа (например, 45418)Ячейка с результатом не отформатирована как "Дата". Примените формат "Дата" к ячейке с формулой. Отрицательное значение дней Даты перепутаны местами в РАЗНДАТ.Поменяйте аргументы местами: =РАЗНДАТ(ранняя_дата; поздняя_дата; "d").Критическая ошибка: если в настройках Excel включён параметр "1904 года система дат" (Файл → Параметры → Дополнительно), все расчёты с датами будут сдвинуты на 4 года. Для корректной работы используйте 1900 систему дат.
FAQ: Частые вопросы по суммированию дат
Можно ли сложить дату и время в одной формуле?
Да, но нужно предварительно преобразовать время в доли дня. Например, чтобы добавить 2 дня и 5 часов к дате в
A1, используйте:=A1 + 2 + (5/24)Где
5/24— это 5 часов в долях суток.Почему функция
РАЗНДАТвозвращает ошибку#ИМЯ??В русскоязычной версии Excel разделителем аргументов функции является точка с запятой (
;), а не запятая. Правильный синтаксис:=РАЗНДАТ(A1; B1; "d")Как суммировать только рабочие дни, исключая выходные?
Используйте функцию
=ЧИСТРАБДНИ(). Пример для расчёта рабочих дней междуA1иB1:=ЧИСТРАБДНИ(A1; B1)Чтобы добавить список праздников, укажите их в третьем аргументе:
=ЧИСТРАБДНИ(A1; B1; C1:C5), гдеC1:C5— диапазон с датами праздников.Можно ли суммировать даты в Google Таблицах?
Да, принципы те же, что и в Excel. Для разницы дат используйте
=B1-A1, для добавления дней —=A1+5. ФункцияРАЗНДАТв Google Таблицах называется=DATEDIF(синтаксис:=DATEDIF(A1; B1; "D")).Как преобразовать сумму дней обратно в дату?
Если у вас есть количество дней (например,
365в ячейкеA1), чтобы получить дату через 365 дней от сегодняшнего дня, используйте:=СЕГОДНЯ()+A1Для преобразования числа
45418в дату примените формат "Дата" к ячейке.