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

Введение: зачем считать даты в Excel?

Работа с датами в Microsoft Excel — одна из самых востребованных задач. Будь то расчёт сроков выполнения проектов, определение возраста клиентов, планирование графиков или анализ временных интервалов — без умения оперировать датами не обойтись. Многие пользователи ошибочно полагают, что для этого нужны сложные скрипты или специализированное ПО. На деле же Excel предлагает встроенные функции, которые позволяют выполнять majority операций с датами буквально в несколько кликов.

Главная особенность работы с датами в Excel заключается в том, что программа хранит их не как текст, а как числовые значения. Например, 01.01.1900 соответствует числу 1, а каждая последующая дата увеличивает это число на единицу. Это позволяет производить арифметические операции: прибавлять дни, вычитать месяцы, вычислять разницу между двумя датами. Однако без знания нюансов легко допустить ошибки — например, получить некорректный результат при вычитании лет из-за високосных годов.

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

Базовые операции: вычитание и сложение дат

Начнём с самого простого — вычисления разницы между двумя датами и прибавления/вычитания дней. Эти операции лежат в основе большинства расчётов, поэтому важно понимать их механику.

Чтобы найти количество дней между датами, достаточно вычесть одну дату из другой. Например, если в ячейке A1 указана дата начала проекта 15.05.2026, а в B1 — дата окончания 30.06.2026, формула будет такой:

=B1-A1

Excel автоматически вернёт результат в формате даты, но если вы хотите увидеть именно количество дней, измените формат ячейки на общий или числовой. Для этого:

  • 📌 Выделите ячейку с результатом.
  • 📌 Нажмите правой кнопкой мыши и выберите Формат ячеек.
  • 📌 В разделе Число выберите Общий или Числовой.

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

=A1+14

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

Часто даты хранятся в таблице разделёнными на день, месяц и год (например, в колонках A1, B1, C1). Чтобы объединить их в полноценную дату, используйте функцию ДАТА(). Её синтаксис:

=ДАТА(год; месяц; день)

Пример: если в ячейках A1=2026, B1=5, C1=15, формула вернёт дату 15.05.2026:

=ДАТА(A1; B1; C1)

Функция ДАТА() автоматически корректирует неверные значения. Например, если указать ДАТА(2026; 13; 1), Excel преобразует это в 01.01.2026 (13-й месяц становится 1-м месяцем следующего года). Это полезно для расчётов с "переполнением" месяцев или дней.

Что делать, если Excel не распознаёт дату?

Если после ввода функции результат отображается как число (например, 45345), измените формат ячейки на Дата. Для этого выделите ячейку → правая кнопка мыши → Формат ячеек → категория Дата.

Расчёт разницы в годах, месяцах и днях

Вычитание дат даёт разницу в днях, но как быть, если нужно узнать количество полных лет, месяцев или дней между двумя датами? Для этого в Excel есть функция РАЗНДАТ() (англ. DATEDIF). Она скрыта в списке функций, но работает корректно. Синтаксис:

=РАЗНДАТ(начальная_дата; конечная_дата; единица_измерения)

Аргумент единица_измерения определяет, что именно вычислять:

  • 📅 "y" — полные годы.
  • 📅 "m" — полные месяцы.
  • 📅 "d" — дни.
  • 📅 "ym" — месяцы без учёта лет.
  • 📅 "yd" — дни без учёта лет.
  • 📅 "md" — дни без учёта месяцев и лет.

Пример: чтобы узнать, сколько полных лет прошло с 15.05.2010 (ячейка A1) до 20.03.2026 (ячейка B1), используйте:

=РАЗНДАТ(A1; B1; "y")

Обратите внимание: РАЗНДАТ() округляет результат в меньшую сторону. Если на момент расчёта не исполнился полный год/месяц, функция вернёт меньшее значение.

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Рабочие дни: функция ЧИСТРАБДНИ() и учёты праздников

В бизнес-задачах часто требуется посчитать только рабочие дни, исключая выходные и праздники. Для этого предназначена функция ЧИСТРАБДНИ() (англ. NETWORKDAYS). Её базовый синтаксис:

=ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])

Аргумент [праздники] необязателен, но если вы хотите исключить из расчёта конкретные даты (например, государственные праздники), укажите их как диапазон ячеек. Пример:

  • 📌 В ячейках D1:D5 перечислены праздники: 01.01.2026, 07.01.2026 и т.д.
  • 📌 Формула: =ЧИСТРАБДНИ(A1; B1; D1:D5).

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

=РАБДЕНЬ(начальная_дата; количество_дней; [праздники])

Пример: если задача началась 15.05.2026 (ячейка A1) и требует 10 рабочих дней, а праздники указаны в D1:D5, формула будет:

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

☑️ Подготовка к расчёту рабочих дней

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

Преобразование текста в дату и исправление ошибок

Часто данные импортируются в Excel в текстовом формате, и программа не распознаёт их как даты. Например, вместо 15.05.2026 вы видите 15-05-2026 или May 15, 2026. В таких случаях поможет функция ДАТАЗНАЧ() (англ. DATEVALUE), которая преобразует текст в дату:

=ДАТАЗНАЧ("15-05-2026")

Если даты хранятся в нестандартном формате (например, 2026/05/15), используйте комбинацию функций ПСТР(), НАЙТИ() и ДАТА():

=ДАТА(ПСТР(A1;1;4); ПСТР(A1;6;2); ПСТР(A1;9;2))

Типичные ошибки при работе с датами:

  • ###### — дата не помещается в ячейку. Решение: расширьте столбец.
  • ❌ Некорректный результат вычитания — проверьте формат ячеек (должен быть Дата или Общий).
  • ❌ Функция РАЗНДАТ() возвращает #ИМЯ? — убедитесь, что название функции введено правильно (в некоторых версиях Excel требуется использовать английскую версию DATEDIF).

Практические примеры: расчёт возраста, сроков и графиков

Рассмотрим несколько реальных задач, с которыми сталкиваются пользователи.

1. Расчёт возраста клиентов. Допустим, в ячейке A1 указана дата рождения 12.08.1990, а в B1 — текущая дата 20.05.2026. Чтобы узнать возраст в годах:

=РАЗНДАТ(A1; B1; "y")

2. Определение дня недели. Функция ДЕНЬНЕД() (англ. WEEKDAY) возвращает номер дня недели (от 1 до 7). Например, для даты в A1:

=ДЕНЬНЕД(A1; 2)

Аргумент 2 означает, что неделя начинается с понедельника (1). Если нужно, чтобы воскресенье было первым днём, используйте 1.

3. Проверка, является ли дата выходным. Комбинация функций ДЕНЬНЕД() и ЕСЛИ() поможет определить, попадает ли дата на субботу или воскресенье:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1;2)>5); "Выходной"; "Рабочий день")

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

=РАЗНДАТ(A1; B1; "m") & " мес. и " & РАЗНДАТ(A1; B1; "md") & " дн."
Задача Формула Пример результата
Разница в годах =РАЗНДАТ(A1; B1; "y") 33 (для дат 12.08.1990 и 20.05.2026)
День недели =ДЕНЬНЕД(A1; 2) 3 (среда)
Рабочие дни между датами =ЧИСТРАБДНИ(A1; B1) 22 (для интервала в 30 календарных дней)
Дата через 10 рабочих дней =РАБДЕНЬ(A1; 10) 29.05.2026 (если начальная дата 15.05.2026)

Автоматизация: динамические даты и условное форматирование

Excel позволяет автоматизировать работу с датами, чтобы они обновлялись без ручного ввода. Например, функция СЕГОДНЯ() (англ. TODAY) всегда возвращает текущую дату:

=СЕГОДНЯ()

Эту функцию удобно использовать для расчёта дней до дедлайна. Например, если срок сдачи проекта — 30.06.2026 (ячейка A1), формула вернёт количество оставшихся дней:

=A1-СЕГОДНЯ()

Для визуального контроля сроков применяйте условное форматирование:

  1. Выделите ячейки с датами.
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. Установите условие: Значение ячейкименьше=СЕГОДНЯ().
  5. Задайте красный цвет заполнения для просроченных дат.

Условное форматирование с динамическими датами обновляется автоматически при каждом открытии файла или пересчёте листа. Это полезно для создания "живых" календарей или трекеров задач.

Частые вопросы о работе с датами в Excel

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

Используйте функцию ЧИСТРАБДНИ(). Например, =ЧИСТРАБДНИ(A1; B1), где A1 и B1 — начальная и конечная даты. Чтобы исключить праздники, добавьте третий аргумент с диапазоном ячеек, где они перечислены.

Почему при вычитании дат получается число вместо дней?

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

Как прибавить к дате 1 месяц, учитывая конец месяца?

Функция ДАТАМЕС() (англ. EDATE) добавляет указанное количество месяцев к дате, корректно обрабатывая конец месяца. Например, =ДАТАМЕС(A1; 1) прибавит 1 месяц к дате в A1. Если исходная дата — 31.01.2026, результат будет 29.02.2026 (а не 31.02.2026, которого не существует).

Можно ли в Excel посчитать даты с учётом часов и минут?

Да, для этого используйте функции ВРЕМЯ(), ЧАС(), МИНУТЫ() и СЕКУНДЫ(). Например, чтобы найти разницу между двумя датами с временем, вычтите одну ячейку из другой и отформатируйте результат как Дата или Время. Для точных расчётов используйте функцию РАЗНДАТ() с единицей измерения "d" и отдельно вычисляйте часы/минуты.

Как преобразовать дату из текстового формата в нормальный?

Если дата хранится как текст (например, "15.05.2026"), используйте функцию ДАТАЗНАЧ(). Для нестандартных форматов (например, "15 мая 2026") потребуется разбор строки с помощью ПСТР(), НАЙТИ() и ДАТА(). Альтернативно можно использовать инструмент Текст по столбцам на вкладке Данные.

⚠️ Внимание: Функция РАЗНДАТ() не документирована в официальной справке Excel, но работает во всех современных версиях программы. В некоторых локализациях (например, немецкой) её название может отличаться. Если формула возвращает ошибку #ИМЯ?, попробуйте использовать английскую версию: =DATEDIF(A1; B1; "y").
⚠️ Внимание: При импорте данных из внешних источников (например, CSV) даты могут преобразовываться в текст или числа. Всегда проверяйте формат ячеек после импорта, особенно если планируете проводить вычисления. Для массового преобразования используйте Текст по столбцам с настройкой формата Дата (DMY).