Извлечение года и расчет дня в году в Excel

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

Чтобы получить текущий год, используйте формулу =YEAR(TODAY()), а для определения номера дня в году (от 1 до 365/366) примените выражение =Дата - DATE(ГОД(Дата);1;1) + 1. Эти простые функции позволяют мгновенно анализировать временные метки, рассчитывать возраст сотрудников или вести учет по дням без использования макросов.

Получение текущего года и номера дня сегодня

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

Базовые формулы:

  • Текущий год: =YEAR(TODAY())
  • Номер дня в году (сегодня): =TODAY() - DATE(YEAR(TODAY()), 1, 1) + 1

Вторая формула работает по принципу вычитания: из текущей даты вычитается дата «1 января текущего года». Поскольку в Excel даты хранятся как порядковые числа, разность дает количество прошедших дней. Прибавление единицы (+1) необходимо, чтобы счет начинался с 1 января (1-й день), а не с нуля.

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

Как вычислить год рождения и возраст

Если у вас есть столбец с датами рождения (например, в ячейке A2), извлечь год рождения можно одной функцией. Это часто требуется для группировки клиентов по поколениям или расчета стажа.

Формула года рождения: =YEAR(A2)

Где A2 — ячейка, содержащая полную дату рождения (например, 15.07.1992). Результатом будет число 1992.

Работа с текстовыми датами: Иногда данные импортируются как текст (например, «15 июля 1992» или «1992-07-15» в текстовом формате). В этом случае функция YEAR вернет ошибку #ЗНАЧ!. Сначала преобразуйте текст в дату: =YEAR(DATEVALUE(A2))

Проблема региональных настроек: Функция DATEVALUE чувствительна к формату даты, заданному в системе (ДД.ММ.ГГГГ или ММ/ДД/ГГГГ). Если формула выдает ошибку, проверьте, соответствует ли формат текста в ячейке настройкам вашей операционной системы.

Расчет номера дня в году (Day of Year) для любой даты

Параметр DOY (Day of Year) полезен для сезонного анализа продаж, учета сроков годности или планирования проектов. Логика расчета универсальна для любой даты, не только для сегодняшней.

Универсальная формула для даты в ячейке A2: =A2 - DATE(YEAR(A2), 1, 1) + 1

Как это работает:

  1. YEAR(A2) определяет год интересующей даты.
  2. DATE(..., 1, 1) конструирует дату «1 января» этого же года.
  3. Вычитание этой даты из исходной (A2) дает количество дней, прошедших с начала года.
  4. +1 корректирует результат, включая саму дату начала отсчета.

Пример: Для даты 15 июля 2026 года (високосный год):

  • Начало года: 01.01.2026
  • Разница в днях: 196
  • Итоговый номер дня: 197

Сводная таблица формул для работы с датами

Ниже приведены готовые решения для наиболее частых задач. Скопируйте формулы, заменив A2 на адрес вашей ячейки с датой.

ЗадачаФормула (русский Excel)Формула (английский Excel)Описание
Текущий год=ГОД(СЕГОДНЯ())=YEAR(TODAY())Возвращает текущий год (напр., 2026)
День года (сегодня)=СЕГОДНЯ() - ДАТА(ГОД(СЕГОДНЯ()); 1; 1) + 1=TODAY() - DATE(YEAR(TODAY()), 1, 1) + 1Номер дня от 1 до 366
Год из даты=ГОД(A2)=YEAR(A2)Извлекает год из полной даты
День года (из даты)=A2 - ДАТА(ГОД(A2); 1; 1) + 1=A2 - DATE(YEAR(A2), 1, 1) + 1Номер дня для конкретной даты
Текст в дату=ДАТАЗНАЧ(A2)=DATEVALUE(A2)Преобразует текстовую строку в дату

Частые ошибки и их решение

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

  • Ошибка #ЗНАЧ! (#VALUE!): Возникает, если в ячейке находится текст, который Excel не распознает как дату.
    • Решение: Используйте «Текст по столбцам» на вкладке «Данные» или функцию DATEVALUE. Убедитесь, что разделители дат (точки, слеши) соответствуют настройкам системы.
  • Неверный номер дня (сдвиг на 1): Часто забывают добавить +1 в конце формулы. Без этого 1 января будет считаться 0-м днем.
    • Решение: Проверьте наличие +1 в формуле вычитания.
  • Проблемы с високосными годами: Формулы с DATE автоматически учитывают високосные годы (366 дней), поэтому дополнительная логика не требуется. Ошибки возможны только при ручном вводе констант (например, вычитании фиксированной даты).

FAQ

Как быстро посчитать возраст человека в годах? Используйте скрытую, но надежную функцию РАЗНДАТ (или DATEDIF): =РАЗНДАТ(A2; СЕГОДНЯ(); "y"), где A2 — дата рождения. Она вернет полное количество лет.

Можно ли получить номер недели вместо дня года? Да, используйте функцию НОМНЕДЕЛИ (WEEKNUM): =НОМНЕДЕЛИ(A2; 2). Второй аргумент 2 означает, что неделя начинается с понедельника (стандарт ISO).

Как сделать так, чтобы год не обновлялся завтра? Не используйте формулы. Введите дату вручную, скопируйте её, затем выберите «Вставить только значения» (Paste Values). После этого формула заменится на статическое число.