Как в Excel определить текущий год: 5 способов с примерами

В Microsoft Excel и Google Таблицах часто требуется автоматически подставлять текущий год — для отчётов, динамических дашбордов или расчётов с привязкой к временным периодам. Но как заставить ячейку всегда показывать актуальный год, даже после переоткрытия файла через месяц или год? Многие пользователи ошибочно вводят год вручную (например, 2026), забывая, что такие данные устаревают уже 1 января.

На самом деле в Excel есть несколько способов динамически получать текущий год — от простых функций до комбинаций с форматированием и Power Query. В этой статье разберём все методы: от базовых до продвинутых, с примерами для разных версий программы (включая Excel 365 и Excel 2019). Также выясним, почему иногда функция возвращает неверный год и как это исправить.

⚠️ Внимание: Если вы используете Excel на маке, учтите, что функции даты/времени могут зависеть от системных настроек региона. Перед работой проверьте формат даты в Настройки → Язык и регион.

📊 Какой версией Excel вы пользуетесь?
Excel 365 (подписка)
Excel 2019
Excel 2016
Excel для Mac
Google Таблицы

1. Базовый способ: функция YEAR + TODAY

Самый простой и универсальный метод — комбинация функций =YEAR(TODAY()). Она работает во всех версиях Excel и Google Таблиц, не требует дополнительных настроек. Разберём, как это работает:

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

Примеры использования:

  • 📅 Простая формула: =YEAR(TODAY()) → вернёт 2026 (если текущий год не изменился).
  • 📊 Для динамического заголовка: ="Отчёт за " & YEAR(TODAY()) & " год" → выведет «Отчёт за 2026 год».
  • 🔄 С сравнением: =IF(YEAR(TODAY())>2023, "Актуально", "Устарело").

⚠️ Внимание: Если файл не пересчитывается автоматически (например, при ручном режиме вычислений), год может «зависнуть». Чтобы обновить, нажмите F9 или перейдите в Формулы → Пересчитать.

2. Альтернативные функции: NOW и DATE

Помимо TODAY(), в Excel есть другие функции работы с датами, которые тоже можно использовать для извлечения года. Их отличие — в точности и дополнительных возможностях:

Функция NOW() возвращает текущие дату и время (например, 15.05.2026 14:30). Для извлечения года подойдёт та же комбинация:

=YEAR(NOW())

Разница с TODAY() минимальна, но NOW() может пригодиться, если вам нужны часы/минуты помимо года.

Функция DATE() позволяет создать дату из отдельных компонентов (год, месяц, день). Чтобы получить текущий год, combine её с TODAY():

=YEAR(DATE(YEAR(TODAY()), MONTH(TODAY()), DAY(TODAY())))

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

Функция Пример Результат (май 2026) Обновляется?
YEAR(TODAY()) =YEAR(TODAY()) 2026 Да
YEAR(NOW()) =YEAR(NOW()) 2026 Да
DATE(YEAR(TODAY()),1,1) =DATE(YEAR(TODAY()),1,1) 01.01.2026 Да (год)
TEXT(TODAY(),"YYYY") =TEXT(TODAY(),"YYYY") "2026" (текст) Да

3. Текстовый формат: функция TEXT

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

Пример:

=TEXT(TODAY(), "YYYY")

Вернёт "2026" (в кавычках, как текст). Это удобно для:

  • 📌 Создания динамических названий: ="Годовой отчёт " & TEXT(TODAY(), "YYYY").
  • 🔗 Использования в гиперссылках: =HYPERLINK("https://example.com/" & TEXT(TODAY(), "YYYY"), "Открыть").
  • 📋 Экспорта данных: текстовый год не округляется и не участвует в вычислениях.

⚠️ Внимание: Текстовый год нельзя использовать в математических операциях. Например, формула =TEXT(TODAY(),"YYYY")+1 вернёт ошибку, а не 2026.

Как вернуть четырёхзначный год в старых версиях Excel?

В Excel 2003 и ранее функция TEXT могла отображать год как 24 вместо 2026. Чтобы исправить, используйте формат "YYYY" (четыре Y) вместо "YY".

4. Динамические диапазоны с Power Query

Для продвинутых пользователей, работающих с Power QueryExcel 2016+ или Power BI), есть способ получить текущий год прямо в запросе. Это полезно для автоматизации импорта данных с привязкой к году.

Алгоритм:

  1. Откройте Данные → Получить данные → Другие источники → Пустой запрос.
  2. В редакторе Power Query введите в строку формул:
    = Date.Year(DateTime.LocalNow())
  3. Нажмите Готово — в таблицу добавится столбец с текущим годом.

Преимущество метода: год обновляется при обновлении запроса, а не при пересчёте листа. Это удобно для больших дашбордов, где пересчёт формул занимает много времени.

Создать новый запрос|Ввести формулу Date.Year(DateTime.LocalNow())|Загрузить данные в модель|Настроить автоматическое обновление-->

5. VBA: год через макросы

Если вам нужно не только отобразить год, но и использовать его в коде (например, для генерации отчётов), подойдёт VBA. Простейший макрос для вставки текущего года в выбранную ячейку:

Sub InsertCurrentYear()

ActiveCell.Value = Year(Date)

End Sub

Как применять:

  • 🖱️ Выделите ячейку, куда нужен год.
  • 🔧 Нажмите Alt + F11, вставьте код в модуль.
  • ⚡ Запустите макрос через Выполнить → InsertCurrentYear.

Для автоматизации добавьте код в событие Workbook_Open(), чтобы год обновлялся при открытии файла:

Private Sub Workbook_Open()

Sheets("Лист1").Range("A1").Value = Year(Date)

End Sub

6. Распространённые ошибки и их решения

Даже с простыми функциями пользователи сталкиваются с проблемами. Разберём типичные случаи и способы их исправления:

Ошибка 1: Функция =YEAR(TODAY()) возвращает 1900 или 1904.

🔹 Причина: В настройках Excel включён параметр 1904 год как база отсчёта дат (актуально для Mac-версий).

🔹 Решение: Перейдите в Файл → Параметры → Дополнительно и снимите галочку с Использовать систему дат 1904.

Ошибка 2: Год не обновляется при открытии файла.

🔹 Причина: Включён ручной режим пересчёта (Формулы → Параметры вычислений → Вручную).

🔹 Решение: Верните автоматический режим или нажмите F9.

Ошибка 3: Формула =TEXT(TODAY(),"YY") показывает 24 вместо 2026.

🔹 Причина: Формат "YY" возвращает двухзначный год.

🔹 Решение: Используйте "YYYY" для четырёхзначного отображения.

⚠️ Внимание: Если вы работаете с данными из внешних источников (например, SQL или API), убедитесь, что формат даты в источнике совпадает с ожидаемым в Excel. Например, 2026-05-15 (ISO) и 15.05.2026 (русский формат) могут обрабатываться по-разному.

7. Практическое применение: примеры для бизнеса

Знание текущего года в Excel полезно не только для отчётов, но и для автоматизации рутинных задач. Вот несколько реальных кейсов:

Пример 1: Фильтрация данных по году

Допустим, у вас есть таблица с датами продаж. Чтобы отфильтровать записи за текущий год, используйте:

=FILTER(A2:B100, YEAR(A2:A100)=YEAR(TODAY()))

(Работает в Excel 365 и Google Таблицах.)

Пример 2: Динамический заголовок в сводной таблице

Создайте вычисляемое поле в сводной таблице с формулой:

="Данные за " & YEAR(TODAY()) & " год"

Пример 3: Автоматическое именование файлов

При экспорте данных в CSV используйте VBA, чтобы добавить год в название файла:

ActiveWorkbook.SaveAs "Отчёт_" & Year(Date) & ".csv"

Пример 4: Условное форматирование

Подсветьте строки с датами текущего года:

  1. Выделите диапазон с датами.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу и введите:
    =YEAR(A1)=YEAR(TODAY())

FAQ: Частые вопросы о текущем годе в Excel

❓ Почему функция TODAY() показывает вчерашнюю дату?

Это происходит, если в настройках Windows или macOS установлено неверное время/дата или включён режим Вручную в параметрах Excel. Проверьте:

  • 🕒 Системные часы (нажмите на время в панели задач).
  • 🔄 Режим пересчёта в Excel (Формулы → Параметры вычислений).
❓ Можно ли зафиксировать текущий год, чтобы он не менялся?

Да. Преобразуйте формулу в значение:

  1. Введите =YEAR(TODAY()) в ячейку.
  2. Скопируйте ячейку (Ctrl + C).
  3. Выполните Специальная вставка → Значения (Ctrl + Alt + V → V).

Теперь год останется статичным (например, 2026), даже если файл откроют в 2026-м.

❓ Как получить год из ячейки с датой в формате "15 мая 2026"?

Используйте =YEAR(A1), где A1 — ячейка с датой. Если Excel воспринимает дату как текст, предварительно преобразуйте её с помощью =ДАТАЗНАЧ(A1) (в русскоязычной версии) или =DATEVALUE(A1) (в англоязычной).

❓ Работает ли YEAR(TODAY()) в Google Таблицах?

Да, синтаксис идентичен. Более того, в Google Таблицах можно использовать =YEAR(TODAY()) даже в выпадающих списках и валидации данных. Например, чтобы ограничить ввод года текущим:

=YEAR(TODAY())

в правилах проверки данных.

❓ Как вычесть из текущего года другой год (например, для расчёта возраста)?

Используйте формулу:

=YEAR(TODAY()) - YEAR(A1)

где A1 — ячейка с датой рождения. Для точного расчёта возраста (с учётом месяца и дня) лучше применять:

=DATEDIF(A1, TODAY(), "Y")