Как в Excel вытащить месяц из даты: от номера до названия на русском

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

Проблема в том, что дата в Excel хранится как числовой формат (количество дней с 1900 года), и прямое извлечение месяца требует знания специальных функций. К счастью, в арсенале программы есть несколько инструментов для этой задачи — от простых функций вроде МЕСЯЦ() до комбинаций с ТЕКСТ() или ВЫБОР(). В этой статье разберём все возможные способы, включая нюансы работы с русскими названиями месяцев и автоматизацию процесса для больших таблиц.

Независимо от того, используете вы Excel 2010, 2016 или последнюю версию Microsoft 365, приведённые методы будут работать одинаково эффективно. А если вам нужно не только определить месяц, но и привязать его к конкретному году (например, "январь 2023"), мы покажем, как это сделать без ручного ввода.

📊 Какой формат месяца вам нужен чаще?
Только номер (1-12)
Полное название (январь)
Сокращённое название (янв)
Месяц + год (январь 2026)

1. Базовый способ: функция МЕСЯЦ для получения номера

Самый простой и универсальный метод — использование функции МЕСЯЦ() (англ. MONTH). Она возвращает порядковый номер месяца (от 1 до 12) для любой корректной даты в ячейке.

Формула выглядит так:

=МЕСЯЦ(A1)

где A1 — ячейка с датой. Например, если в A1 записано 15.05.2026, функция вернёт 5 (май).

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

  • 🔹 Работает во всех версиях Excel, включая Excel Online.
  • 🔹 Мгновенно обновляется при изменении исходной даты.
  • 🔹 Не требует дополнительных настроек региональных параметров.

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

2. Как получить название месяца на русском

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

Синтаксис:

=ТЕКСТ(A1; "ММММ")

где:

  • A1 — ячейка с датой;
  • "ММММ" — формат отображения (4 буквы дадут полное название, 3 буквы — сокращённое, например "янв").

Пример результатов:

Формат Пример кода Результат для 15.05.2026
Полное название =ТЕКСТ(A1; "ММММ") май
Сокращённое название =ТЕКСТ(A1; "МММ") май
Номер + название =ТЕКСТ(A1; "ММММ YYYY") май 2026

Важно! Название месяца будет отображаться на том языке, который установлен в региональных настройках Excel. Если у вас английская версия программы, результат будет на английском (May вместо "май"). Чтобы исправить это, измените язык системы или используйте альтернативный метод (см. раздел 4).

Как изменить язык отображения месяцев?

Перейдите в Файл → Параметры → Язык и добавьте русский как основной язык редактирования. После перезапуска Excel месяцы будут отображаться на русском.

3. Комбинация МЕСЯЦ + ВЫБОР для кастомных названий

Если функция ТЕКСТ() выдаёт месяцы не на том языке или вам нужно нестандартное отображение (например, "Месяц 1" вместо "январь"), используйте комбинацию МЕСЯЦ() + ВЫБОР().

Пример формулы для полного названия на русском:

=ВЫБОР(МЕСЯЦ(A1); "январь"; "февраль"; "март"; "апрель"; "май"; "июнь"; "июль"; "август"; "сентябрь"; "октябрь"; "ноябрь"; "декабрь")

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

  1. Функция МЕСЯЦ(A1) возвращает номер месяца (1-12).
  2. Функция ВЫБОР() подставляет название из списка по этому номеру.

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

  • 🔹 Работает независимо от языковых настроек Excel.
  • 🔹 Позволяет использовать любые кастомные названия (например, "1-й месяц" или "Янв*").
  • 🔹 Можно добавить год: =ВЫБОР(...) & " " & ГОД(A1).

Этот способ — единственный надёжный вариант для пользователей с нерусской версией Excel, где функция ТЕКСТ() выдаёт месяцы на английском.

Убедитесь, что в списке ровно 12 названий|Проверьте регистр (январь ≠ Январь)|Используйте точку с запятой (;) как разделитель|Тестируйте формулу на датах с разными месяцами-->

4. Автоматическое обновление месяца при изменении даты

Все описанные выше методы динамически обновляются при изменении исходной даты в ячейке. Однако если вы скопируете результат формулы и вставите его как Значения (через Правка → Специальная вставка), связь с исходной датой пропадёт, и месяц станет статичным текстом.

Чтобы избежать ошибок:

  • 📌 Не преобразуйте формулы в значения, если даты в таблице могут обновляться.
  • 📌 Используйте Формат ячеек → Все форматы для изменения отображения даты без потери связи.
  • 📌 Для больших таблиц применяйте Таблицы Excel (Ctrl+T) — они автоматически расширяют формулы на новые строки.

Пример ошибки: Если вы вставили месяц как значение, а потом изменили дату в исходной ячейке, данные разойдутся. Например, в A1 было 15.05.2026, а стало 20.06.2026, но в ячейке с месяцем останется "май".

5. Продвинутые приёмы: месяц + год, кварталы, сортировка

Иногда требуется не просто месяц, а его комбинация с годом или другие производные данные. Вот несколько полезных формул:

1. Месяц и год (например, "май 2026"):

=ТЕКСТ(A1; "ММММ YYYY")

2. Номер квартала (1-4):

=ОКРУГЛВВЕРХ(МЕСЯЦ(A1)/3; 0)

3. Сортировка по месяцам:

Чтобы отсортировать данные по месяцам (независимо от года), создайте вспомогательный столбец с формулой =МЕСЯЦ(A1) и сортируйте по нему.

4. Условное форматирование по месяцам:

Выделите ячейки с датами → Главная → Условное форматирование → Создать правило → Используйте формулу =МЕСЯЦ(A1)=5 для выделения всех дат мая.

Пример применения условного форматирования:

Цвет Формула Что выделяет
Зелёный =МЕСЯЦ(A1)=1 Январь
Красный =МЕСЯЦ(A1)=12 Декабрь
Жёлтый =И(МЕСЯЦ(A1)>=6; МЕСЯЦ(A1)<=8) Летние месяцы

⚠️ Внимание: При использовании условного форматирования по месяцам убедитесь, что в ячейках действительно хранятся даты, а не текст. Если Excel воспринимает значение как текст (например, после импорта из CSV), формулы МЕСЯЦ() не сработают. Чтобы исправить это, используйте ДАТАЗНАЧ():

=МЕСЯЦ(ДАТАЗНАЧ(A1))

6. Ошибки и их решения

Даже с простыми функциями вроде МЕСЯЦ() могут возникать ошибки. Рассмотрим самые распространённые:

1. #ЗНАЧ! (VALUE!)

Причина: Ячейка содержит некорректную дату (например, текст "15.05" без года или несуществующую дату вроде "31.02.2026").

Решение: Проверьте формат ячейки (Формат ячеек → Дата) или используйте ДАТАЗНАЧ() для преобразования текста в дату.

2. #ИМЯ? (NAME?)

Причина: Опечатка в названии функции (например, МЕСЯЦ вместо МЕСЯЦ() или английская раскладка).

Решение: Убедитесь, что функция написана правильно. В русскоязычной версии Excel используйте МЕСЯЦ, в английской — MONTH.

3. Месяц на английском вместо русского

Причина: Языковые настройки Excel или системы.

Решение: Либо измените язык (см. спойлер в разделе 2), либо используйте ВЫБОР() для ручного указания названий.

4. Формула не обновляется

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

Решение: Включите автоматический режим или нажмите F9 для принудительного пересчёта.

⚠️ Внимание: Если вы импортируете даты из внешних источников (например, или SQL), они могут сохраняться как текст. Чтобы это проверить, выделите ячейку и посмотрите на строку формул: если дата отображается слева (а не справа, как числа), это текст. Используйте ДАТАЗНАЧ() или ЗНАЧЕН() для преобразования.

7. Альтернативные методы: Power Query и VBA

Для обработки больших объёмов данных или автоматизации рутинных задач можно использовать Power Query или VBA.

Power Query (Excel 2016+):

  1. Выделите таблицу с датами → Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец с датой → Преобразовать → Месяц → Название.
  3. Нажмите Закрыть и загрузить.

VBA (для опытных пользователей):

Создайте функцию для извлечения месяца:

Function GetMonthName(d As Date) As String

Dim months(1 To 12) As String

months(1) = "январь": months(2) = "февраль": months(3) = "март"

months(4) = "апрель": months(5) = "май": months(6) = "июнь"

months(7) = "июль": months(8) = "август": months(9) = "сентябрь"

months(10) = "октябрь": months(11) = "ноябрь": months(12) = "декабрь"

GetMonthName = months(Month(d))

End Function

Теперь в ячейке можно использовать =GetMonthName(A1).

Эти методы полезны, если:

  • 🔹 Нужно обработать десятки тысяч строк (Power Query быстрее формул).
  • 🔹 Требуется кастомная логика (например, "1-й квартал" вместо "январь-март").
  • 🔹 Нужно интегрировать извлечение месяца в сложный макрос.

FAQ: Частые вопросы

Как извлечь месяц из даты в формате "дд.мм.гггг чч:мм"?

Функции МЕСЯЦ() и ТЕКСТ() игнорируют время и работают только с датой. Например, для ячейки с 15.05.2026 14:30 формула =МЕСЯЦ(A1) вернёт 5 (май), а =ТЕКСТ(A1; "ММММ") — "май".

Можно ли получить месяц без указания года?

Да, все описанные методы (МЕСЯЦ(), ТЕКСТ(), ВЫБОР()) работают независимо от года. Например, для даты 15.05.2020 и 15.05.2026 результат будет одинаковым ("май" или "5").

Как сделать так, чтобы месяц отображался с заглавной буквы?

Используйте функцию ПРОПИСН() для первой буквы или ПРОПНАЧ() для всего слова:

=ПРОПНАЧ(ЛЕВСИМВ(ТЕКСТ(A1; "ММММ"))) & ПСТР(ТЕКСТ(A1; "ММММ"); 2; 100)

Или проще (для русского языка):

=ПРОПИСН(ЛЕВСИМВ(ТЕКСТ(A1; "ММММ"))) & ПСТР(ТЕКСТ(A1; "ММММ"); 2; 100)
Почему функция ТЕКСТ() выдаёт месяц на английском?

Это зависит от языковых настроек Excel. Чтобы исправить:

  1. Перейдите в Файл → Параметры → Язык.
  2. Добавьте русский язык как основной для редактирования.
  3. Перезапустите Excel.

Если это невозможно (например, на рабочем компьютере), используйте метод с ВЫБОР() (раздел 3).

Как посчитать количество дат за конкретный месяц?

Используйте функцию СЧЁТЕСЛИ с критерием по месяцу:

=СЧЁТЕСЛИ(диапазон_дат; ">="&ДАТА(год; месяц; 1)) - СЧЁТЕСЛИ(диапазон_дат; ">="&ДАТА(год; месяц+1; 1))

Пример для мая 2026:

=СЧЁТЕСЛИ(A1:A100; ">="&ДАТА(2026; 5; 1)) - СЧЁТЕСЛИ(A1:A100; ">="&ДАТА(2026; 6; 1))