Как найти номер года в Excel: от базовых функций до продвинутых приёмов

Работа с датами в Microsoft Excel — одна из самых востребованных задач при анализе данных. Часто требуется выделить из полной даты только год: для группировки данных, построения отчётов по периодам или фильтрации записей. К счастью, в Excel есть несколько способов получить номер года — от элементарных функций до сложных формул с условиями.

Многие пользователи ошибочно думают, что для извлечения года нужно вручную разбивать дату на части или использовать текстовые функции. На самом деле Excel хранит даты как числовые значения (количество дней с 1900 года), и работать с ними можно через специализированные функции. В этой статье разберём все актуальные методы — от ГОД() до массивов и Power Query, — а также типичные ошибки и нюансы форматирования.

Если вы регулярно анализируете временные ряды, умение быстро извлекать год сэкономит часы работы. Например, при обработке продаж за 5 лет или анализа динамики курса валют. Даже в простых таблицах с датами рождения или сроками договоров знание этих приёмов сделает вашу работу эффективнее.

Важно понимать, что Excel воспринимает даты по-разному в зависимости от региональных настроек. В российской версии по умолчанию используется формат ДД.ММ.ГГГГ, но в формулах всегда работает универсальный числовой формат. Это означает, что функции вроде YEAR() (англоязычная версия ГОД()) будут корректно работать независимо от отображения даты на экране.

1. Базовая функция ГОД() — простейший способ

Самый очевидный и надёжный метод — использование встроенной функции ГОД() (или YEAR() в английской версии). Она возвращает год для заданной даты в виде четырёхзначного числа.

Синтаксис функции предельно прост:

=ГОД(дата)

Где дата — это либо ссылка на ячейку с датой (например, A2), либо дата в формате ДАТА(), например ДАТА(2023;5;15).

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

  • 📅 =ГОД(A2) — вернёт год из ячейки A2, где записана дата 15.05.2023 (результат: 2023).
  • 📅 =ГОД(ДАТА(2026;12;31)) — вернёт 2026 для даты 31 декабря 2026 года.
  • 📅 =ГОД(СЕГОДНЯ()) — динамически покажет текущий год (обновляется при пересчёте таблицы).

Функция ГОД() работает даже если дата отформатирована как текст (например, "15.05.2023"), но в этом случае Excel сначала преобразует её во внутренний числовой формат. Однако лучше избегать текстовых дат — они могут приводить к ошибкам при сортировке или фильтрации.

2. Текстовые функции: ЛЕВСИМВ и ПРАВСИМВ

Когда дата хранится как текст (например, импортирована из внешнего источника), стандартная функция ГОД() может не сработать. В этом случае помогут текстовые функции ЛЕВСИМВ() и ПРАВСИМВ(), которые извлекают часть строки.

Предположим, дата записана в формате ДД.ММ.ГГГГ как текст. Чтобы получить год, используйте:

=ПРАВСИМВ(A2;4)

Эта формула берёт последние 4 символа из строки в A2. Например, для текста "15.05.2023" результат будет 2023.

Если формат даты другой (например, ГГГГ-ММ-ДД), применяйте ЛЕВСИМВ():

=ЛЕВСИМВ(A2;4)

Это извлечёт первые 4 символа — год.

Минусы текстового подхода:

  • ⚠️ Не работает с числовыми датами (вернёт ошибку или некорректный результат).
  • ⚠️ Чувствителен к формату: если дата записана как 15/05/2023, формула ПРАВСИМВ(A2;4) вернёт 023 вместо 2023.
  • ⚠️ Не обновляется автоматически при изменении формата ячейки.
Как проверить, текстовая дата или числовая?

Выделите ячейку и посмотрите на строку формул. Если там отображается дата в кавычках (например, "15.05.2023") — это текст. Если без кавычек или в виде числа (например, 45045) — это числовая дата.

3. Формулы массивов для сложных условий

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

Пример 1: Получить год только для дат после 01.01.2022.

=ЕСЛИ(A2:A10>ДАТА(2022;1;1); ГОД(A2:A10); "")

Эта формула проверяет каждую дату в диапазоне A2:A10 и возвращает год, только если дата позже 1 января 2022 года. В противном случае — пустую строку.

Пример 2: Извлечь уникальные годы из списка дат (для создания фильтра или сводной таблицы).

=УНИК(ГОД(A2:A100))

Функция УНИК() (доступна в Excel 365 и Excel 2021) возвращает массив уникальных значений. Результат будет динамическим списком всех годов из диапазона A2:A100.

Для старых версий Excel используйте комбинацию ЧАСТОТА() и ДВССЫЛ(), но это требует более сложной настройки.

📊 Какой версии Excel вы пользуетесь?
Excel 365
Excel 2021
Excel 2019
Excel 2016 или старше

4. Power Query: извлечение года при импорте данных

Если вы работаете с большими наборами данных (например, импортируете из CSV, SQL или JSON), удобнее извлекать год на этапе загрузки с помощью Power Query. Этот инструмент позволяет трансформировать данные без формул.

Пошаговая инструкция:

  1. Выделите диапазон с датами и перейдите на вкладку ДанныеИз таблицы/диапазона (или Get Data → From Table/Range в английской версии).
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. Перейдите на вкладку Добавление столбцаДата и времяГодГод.
  4. Новый столбец с годами появится справа. При необходимости переименуйте его.
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

Преимущества Power Query:

  • 🔄 Автоматически обновляет данные при изменении источника.
  • 📊 Сохраняет шаги трансформации для повторного использования.
  • 🔍 Работает с миллионами строк без замедления.

☑️ Подготовка данных в Power Query

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

5. Условное форматирование по годам

Иногда нужно не извлечь год, а визуально выделить даты определённого периода. Например, подсветить все записи за 2023 год зелёным цветом. Для этого подходит условное форматирование.

Как настроить:

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

Формула будет применена ко всем ячейкам диапазона автоматически. Например, для ячейки A3 Excel проверит условие =ГОД(A3)=2023.

Для более сложных условий (например, диапазон лет) используйте:

=И(ГОД(A2)>=2020; ГОД(A2)<=2023)

Эта формула выделит даты с 2020 по 2023 год включительно.

6. Ошибки и нюансы при работе с годами

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

Ошибка #1: Функция ГОД() возвращает 1905 вместо актуального года

⚠️ Внимание: Это происходит, когда ячейка содержит текст, который Excel ошибочно интерпретирует как дату. Например, значение "2023-г" или "Год: 2023". Используйте ЗНАЧЕН() для преобразования:
=ГОД(ЗНАЧЕН(ПОДСТАВИТЬ(A2; "г"; "")))

Ошибка #2: Даты отображаются как числа (например, 45045)

Это внутренний формат Excel для хранения дат. Чтобы исправить:

  1. Выделите ячейки с числами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите категорию Дата и укажите нужный формат (например, 14.03.2012).

Ошибка #3: Формула не обновляется при изменении данных

Если год извлекается корректно, но не меняется при обновлении исходной даты, проверьте:

  • 🔄 Включён ли автоматический пересчёт: ФормулыПараметры вычисленийАвтоматически.
  • 🔄 Не является ли ячейка с датой результатом другой формулы (например, ТЕКСТ()), которая блокирует обновление.

Таблица типичных ошибок и решений:

Ошибка Причина Решение
#ЗНАЧ! Ячейка содержит текст, не распознаваемый как дата Используйте ДАТАЗНАЧ() или ЗНАЧЕН() для преобразования
#ЧИСЛО! Дата выходит за пределы поддерживаемого диапазона (до 1900 или после 9999 года) Проверьте корректность исходных данных
Некорректный год (например, 1899) Отрицательное значение даты или ошибка в формуле Убедитесь, что дата положительная (например, =ГОД(A2+0))
Формула не копируется Абсолютные ссылки ($A$2) вместо относительных (A2) Исправьте ссылки или используйте Прогрессия для автозаполнения

7. Продвинутые приёмы: динамические массивы и LAMBDA

В Excel 365 и Excel 2021 появились динамические массивы и функция LAMBDA, которые позволяют создавать гибкие решения для работы с годами.

Пример 1: Список годов с группировкой

Допустим, у вас есть столбец с датами (A2:A100), и нужно получить список уникальных годов с количеством записей для каждого:

=СОРТИРОВКА(

УНИК(

ГОД(A2:A100) &

" (" &

СЧЁТЕСЛИ(A2:A100; ">="&ДАТА(ГОД(A2:A100);1;1)) &

" записей)"

)

)

Эта формула вернёт отсортированный список в формате:

2020 (15 записей)

2021 (23 записи)

2022 (8 записей)

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

С помощью LAMBDA можно создать функцию, которая вернёт не только год, но и век (например, XXI для 2023 года):

=LAMBDA(дата;

"Год: " & ГОД(дата) & ", Век: " &

ВЫБР(

ОКРУГЛВВЕРХ(ГОД(дата)/100; 0);

"I"; "II"; "III"; ... ; "XXI"; "XXII"

)

)

Чтобы использовать её, присвойте имя через ФормулыДиспетчер имёнСоздать, затем применяйте как обычную функцию.

Важно: Динамические массивы автоматически "проливаются" на соседние ячейки. Если рядом есть данные, Excel может вернуть ошибку #ПЕРЕП! (переполнение). Чтобы избежать этого, оставляйте пустые столбцы справа от формулы.

FAQ: Ответы на частые вопросы

Можно ли извлечь год без формул?

Да, с помощью Power Query (см. раздел 4) или инструмента Текст по столбцам:

  1. Выделите столбец с датами.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителями → укажите разделитель (например, точка . для формата ДД.ММ.ГГГГ).
  4. На шаге 3 отметьте столбец с годом и нажмите Готово.

Минус этого метода: дата разбивается на части необратимо (исходный формат теряется).

Как извлечь последние 2 цифры года (например, 23 вместо 2023)?

Используйте функцию ПРАВСИМВ() для текстовой даты или ОСТАТ() для числовой:

=ПРАВСИМВ(ТЕКСТ(A2; "гггг"); 2)

или

=ОСТАТ(ГОД(A2); 100)

Вторая формула вернёт 23 для 2023 года, 0 для 2000 года и т.д.

Почему функция ГОД() возвращает 1900 для пустых ячеек?

Пустые ячейки в Excel воспринимаются как 0 в числовом формате, что соответствует дате 00.01.1900. Чтобы избежать этого, используйте проверку:

=ЕСЛИ(A2=""; ""; ГОД(A2))

Либо примените форматирование, чтобы скрыть нулевые значения: выделите ячейки → Ctrl+1Числовой формат → укажите пользовательский формат #;-#;;@ (последний символ скрывает нули).

Как посчитать разницу между годами?

Для расчёта разницы в годах между двумя датами используйте:

=ГОД(B2) - ГОД(A2)

Но учтите, что эта формула не учитывает месяцы и дни. Для точного расчёта (например, возраста человека) лучше использовать:

=ЦЕЛОЕ((B2-A2)/365,25)

Где 365,25 — среднее количество дней в году с учётом високосных.

Можно ли извлечь год из даты в формате UNIX timestamp?

Да, но сначала нужно преобразовать timestamp в дату Excel. Формула:

=ГОД(ДАТА(1970;1;1) + (A2/86400))

Где A2 — ячейка с timestamp (количество секунд с 1 января 1970 года), а 86400 — количество секунд в сутках (24×60×60). Для миллисекунд используйте A2/86400000.