Как работать с датами в Excel: полный разбор основных функций
Для работы с текущей датой используйте функцию =СЕГОДНЯ(), для создания даты из отдельных чисел — =ДАТА(год;месяц;день), а для извлечения года или дня из существующей даты — функции =ГОД() и =ДЕНЬ(). Эти четыре инструмента покрывают 90% задач по манипуляции датами в таблицах, от автоматического проставления штампов времени до сложной фильтрации отчетов.
Главное правило: В русскоязычной версии Excel аргументы в функциях разделяются точкой с запятой (;), а не запятой. Например: =ДАТА(2026;4;11).
Функции получения и создания дат: СЕГОДНЯ и ДАТА
Эти две функции являются фундаментальными: одна возвращает актуальную дату «здесь и сейчас», другая позволяет сконструировать любую дату программно.
Функция СЕГОДНЯ (TODAY)
Функция =СЕГОДНЯ() не требует аргументов. Она возвращает текущую дату согласно системным часам вашего компьютера.
Особенности использования:
- Динамичность: Значение обновляется при каждом пересчете листа (открытие файла, ввод данных, нажатие F9). Если вам нужно зафиксировать дату неизменной, эту функцию использовать нельзя.
- Формат: Возвращает числовой формат даты. Если в ячейке отображается число (например, 45758), измените формат ячейки на «Дата» (через вкладку «Главная» -> группа «Число»).
Примеры применения:
- Автоматический штамп «Дата отчета» в шапке таблицы:
="Отчет от "&ТЕКСТ(СЕГОДНЯ();"дд.мм.гггг") - Расчет возраста или стажа:
=ДАТАЗНАЧ(СЕГОДНЯ()) - A1(где A1 — дата рождения).
Функция ДАТА (DATE)
Функция =ДАТА(год; месяц; день) создает корректную дату из трех числовых значений. Это мощный инструмент для нормализации данных, когда год, месяц и день хранятся в разных столбцах.
Синтаксис:
=ДАТА(год; месяц; день)
Умные возможности функции:
- Автоматический перенос месяцев: Если указать месяц больше 12, Excel прибавит лишние месяцы к году.
=ДАТА(2026; 13; 1)вернет 01.01.2027.
- Обработка отрицательных значений: Можно вычитать месяцы или дни.
=ДАТА(2026; 1; -5)вернет дату за 5 дней до начала января 2026 года (27.12.2025).
- Исправление «кривых» данных: Идеально подходит, если вы выгрузили данные из другой системы, где день и месяц перепутаны или записаны текстом.
Лайфхак для объединения столбцов:
Если у вас в столбце 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).