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

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

Для работы с текущей датой используйте функцию =СЕГОДНЯ(), для создания даты из отдельных чисел — =ДАТА(год;месяц;день), а для извлечения года или дня из существующей даты — функции =ГОД() и =ДЕНЬ(). Эти четыре инструмента покрывают 90% задач по манипуляции датами в таблицах, от автоматического проставления штампов времени до сложной фильтрации отчетов.

Главное правило: В русскоязычной версии Excel аргументы в функциях разделяются точкой с запятой (;), а не запятой. Например: =ДАТА(2026;4;11).

Функции получения и создания дат: СЕГОДНЯ и ДАТА

Эти две функции являются фундаментальными: одна возвращает актуальную дату «здесь и сейчас», другая позволяет сконструировать любую дату программно.

Функция СЕГОДНЯ (TODAY)

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

Особенности использования:

  • Динамичность: Значение обновляется при каждом пересчете листа (открытие файла, ввод данных, нажатие F9). Если вам нужно зафиксировать дату неизменной, эту функцию использовать нельзя.
  • Формат: Возвращает числовой формат даты. Если в ячейке отображается число (например, 45758), измените формат ячейки на «Дата» (через вкладку «Главная» -> группа «Число»).

Примеры применения:

  • Автоматический штамп «Дата отчета» в шапке таблицы: ="Отчет от "&ТЕКСТ(СЕГОДНЯ();"дд.мм.гггг")
  • Расчет возраста или стажа: =ДАТАЗНАЧ(СЕГОДНЯ()) - A1 (где A1 — дата рождения).

Функция ДАТА (DATE)

Функция =ДАТА(год; месяц; день) создает корректную дату из трех числовых значений. Это мощный инструмент для нормализации данных, когда год, месяц и день хранятся в разных столбцах.

Синтаксис: =ДАТА(год; месяц; день)

Умные возможности функции:

  1. Автоматический перенос месяцев: Если указать месяц больше 12, Excel прибавит лишние месяцы к году.
    • =ДАТА(2026; 13; 1) вернет 01.01.2027.
  2. Обработка отрицательных значений: Можно вычитать месяцы или дни.
    • =ДАТА(2026; 1; -5) вернет дату за 5 дней до начала января 2026 года (27.12.2025).
  3. Исправление «кривых» данных: Идеально подходит, если вы выгрузили данные из другой системы, где день и месяц перепутаны или записаны текстом.

Лайфхак для объединения столбцов: Если у вас в столбце A год, в B — месяц, в C — день, не склеивайте их текстом. Используйте формулу: =ДАТА(A2; B2; C2) Это создаст настоящую дату, с которой можно производить математические вычисления.

Извлечение компонентов даты: ГОД и ДЕНЬ

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

Функция ГОД (YEAR)

Возвращает год из указанной даты в виде целого числа (например, 2026).

Синтаксис: =ГОД(дата)

  • Аргументом может быть ссылка на ячейку, результат другой формулы или дата в кавычках: =ГОД("11.04.2026").

Практическое применение:

  • Группировка продаж по годам в сводных таблицах.
  • Фильтрация сотрудников, принятых на работу после 2020 года.
  • Расчет полного количества лет между двумя датами (в связке с другими функциями).

Функция ДЕНЬ (DAY)

Возвращает номер дня месяца (число от 1 до 31).

Синтаксис: =ДЕНЬ(дата)

Где это полезно:

  • Выделение платежей, которые поступают строго 10-го или 25-го числа каждого месяца.
  • Построение графиков активности по дням месяца.
  • Проверка валидности дат (например, поиск несуществующих дат вроде 32-го числа, хотя функция ДАТА обычно сама их корректирует).

Ошибка формата: Если функция =ГОД() или =ДЕНЬ() возвращает ошибку #ЗНАЧ!, проверьте исходную ячейку. Скорее всего, дата сохранена как текст (выровнена по левому краю). Преобразуйте текст в дату через инструмент «Текст по столбцам» или функцию ДАТАЗНАЧ.

Сравнительная таблица функций

Для быстрого понимания различий и областей применения обратите внимание на следующую таблицу:

ФункцияНазначениеАргументыРезультатПример формулы
СЕГОДНЯПолучить текущую датуНетДата (динамическая)=СЕГОДНЯ()
ДАТАСоздать дату из чиселГод, Месяц, ДеньДата (статическая)=ДАТА(2026;12;31)
ГОДИзвлечь годДатаЧисло (год)=ГОД(A1)
ДЕНЬИзвлечь день месяцаДатаЧисло (1–31)=ДЕНЬ(A1)

Практические примеры комбинаций

Реальная сила этих функций раскрывается при их совместном использовании. Рассмотрим несколько сценариев.

1. Расчет даты окончания периода

Допустим, нужно добавить 3 месяца к дате в ячейке A1, сохранив правильный день. Формула: =ДАТА(ГОД(A1); МЕСЯЦ(A1)+3; ДЕНЬ(A1)) Эта конструкция надежнее простого сложения, так как корректно обрабатывает переход через год.

2. Определение квартала

Чтобы понять, к какому кварталу относится дата в A1: Формула: ="Q"&ЦЕЛОЕ((МЕСЯЦ(A1)-1)/3)+1 & " " & ГОД(A1) Результат: "Q2 2026".

3. Автоматическое поздравление

Если сегодня день рождения сотрудника (дата в A2): Формула: =ЕСЛИ(И(ДЕНЬ(СЕГОДНЯ())=ДЕНЬ(A2); МЕСЯЦ(СЕГОДНЯ())=МЕСЯЦ(A2)); "День рождения!"; "")

Частые ошибки

При работе с датами новички часто сталкиваются с типовыми проблемами:

  • Дата превратилась в число (например, 45392).
    • Причина: Ячейке назначен «Общий» или «Числовой» формат.
    • Решение: Выделите ячейку, нажмите Ctrl+1 и выберите формат «Дата».
  • Функция СЕГОДНЯ не обновляется.
    • Причина: В настройках Excel отключен автоматический пересчет.
    • Решение: Перейдите в «Формулы» -> «Параметры вычислений» и выберите «Автоматически». Либо нажмите F9 для принудительного пересчета.
  • Ошибка #ИМЯ? в функции.
    • Причина: Опечатка в названии функции (например, =СЕГОДН()) или использование английской версии функции в русскоязычном интерфейсе без перевода (например, =TODAY() вместо =СЕГОДНЯ()).
  • Некорректный разделитель.
    • Причина: Использование запятой вместо точки с запятой в аргументах (=ДАТА(2026,4,11) вызовет ошибку в русской локали).

FAQ

Как зафиксировать сегодняшнюю дату, чтобы она не менялась завтра? Функция =СЕГОДНЯ() всегда будет меняться. Чтобы вставить статичную дату, используйте горячие клавиши: Ctrl + ; (точка с запятой). Это вставит текущую дату как обычное значение, которое не будет обновляться.

Почему функция ДАТА меняет мой день? Если вы введете =ДАТА(2026; 2; 30), Excel вернет дату в марте, потому что 30 февраля не существует. Функция автоматически добавляет лишние дни к следующему месяцу. Это не ошибка, а особенность логики Excel.

Можно ли использовать эти функции для расчета времени? Нет, функции СЕГОДНЯ, ДАТА, ГОД и ДЕНЬ работают только с частью даты. Для работы со временем (часы, минуты) используются функции ТДАТА (NOW), ВРЕМЯ (TIME), ЧАС (HOUR) и МИНУТЫ (MINUTE).