Как в Excel сделать месяц из даты словом: от простых формул до автоматизации

Работа с датами в Microsoft Excel — одна из самых востребованных задач, но не все пользователи знают, как быстро преобразовать числовой формат (например, 15.03.2026) в текстовое название месяца. Почему это важно? Представьте отчёт, где вместо сухих цифр нужно указать "март 2026" или просто "Март" — так данные воспринимаются легче, а документ выглядит профессиональнее.

Многие ошибочно пытаются вручную переписывать месяцы или использовать долгие обходные пути. На деле в Excel есть минимум 5 способов решить эту задачу: от элементарных функций ТЕКСТ и МЕСЯЦ до продвинутых инструментов вроде Power Query или VBA. В этой статье разберём каждый метод с примерами, нюансами и типичными ошибками. Вы узнаете, как получить месяц строчными, прописными или с заглавной буквы, а также как автоматизировать процесс для тысяч строк.

Особое внимание уделим локализации: почему в русскоязычном Excel формула может выдавать месяц на английском, и как это исправить. Также раскроем секрет, как избежать ошибки #ЗНАЧ!, когда Excel не распознаёт дату как дату.

Готовы оптимизировать работу с датами? Начнём с самого простого — и постепенно дойдём до решений для опытных пользователей.

Способ 1: Функция ТЕКСТ — быстрый результат без настройки

Функция ТЕКСТ — это универсальный инструмент для преобразования чисел и дат в текстовый формат. Она идеально подходит, когда нужно однократно получить название месяца из даты, не углубляясь в сложные формулы.

Синтаксис функции:

=ТЕКСТ(дата; "формат")

Где формат — это шаблон, который определяет, как будет отображаться дата. Для месяца словом используйте:

  • 📅 "мммм" — полное название месяца с заглавной буквы (например, "Май")
  • 📅 "ммм" — сокращённое название (например, "май")
  • 📅 "[$-ru-RU]мммм" — принудительная русификация (актуально для англоязычных версий Excel)

Пример: если в ячейке A1 содержится дата 15.05.2026, формула =ТЕКСТ(A1; "мммм") вернёт "Май". А формула =ТЕКСТ(A1; "[$-ru-RU]ммм")"май" (строчными).

⚠️ Внимание: Если функция возвращает месяц на английском (например, "May"), проверьте региональные настройки Excel. В меню Файл → Параметры → Язык должен быть выбран русский язык как основной.

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

  • ✅ Простота — не требует знания сложных функций.
  • ✅ Гибкость — можно комбинировать с другими форматами (например, "мммм гггг" для "Май 2026").

Недостатки:

  • ❌ Результат — текст, а не дата. С таким значением нельзя проводить вычисления (например, сортировку по месяцам).
  • ❌ При изменении языка Excel формат может сбиться.

Способ 2: Функция МЕСЯЦ + ВЫБОР — для точного контроля

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

Алгоритм:

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

Формула для полного названия месяца с заглавной буквы:

=ВЫБОР(МЕСЯЦ(A1); "Январь"; "Февраль"; "Март"; "Апрель"; "Май"; "Июнь"; "Июль"; "Август"; "Сентябрь"; "Октябрь"; "Ноябрь"; "Декабрь")

Для сокращённого варианта (3 буквы) или строчных букв просто измените текст в кавычках:

=ВЫБОР(МЕСЯЦ(A1); "янв"; "фев"; "мар"; ...)

Почему этот способ надёжнее ТЕКСТ?

  • 🔄 Работает в любых региональных настройках.
  • 🛠️ Легко редактировать названия (например, добавить точку: "янв.").
  • 📊 Результат можно использовать в других формулах (например, для условного форматирования).
⚠️ Внимание: Если в ячейке A1 не дата, а текст (например, "15.05.2026"), формула вернёт ошибку. Преобразуйте текст в дату с помощью ДАТАЗНАЧ():
=ВЫБОР(МЕСЯЦ(ДАТАЗНАЧ(A1)); "Январь"; ...)

Убедитесь, что ячейка содержит дату, а не текст|Проверьте регистр первых букв в названиях месяцев|Учитывайте, что номера месяцев начинаются с 1 (январь), а не с 0|Тестируйте формулу на крайних значениях (1 и 12 месяц)

-->

Способ 3: Power Query — автоматизация для больших данных

Если вам нужно преобразовать месяцы в текстовой формат для тысяч строк или регулярно обновлять данные, ручные формулы станут тормозом. Здесь поможет Power Query — инструмент для обработки и трансформации данных, встроенный в Excel 2016+.

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

  1. Выделите исходные данные с датами.
  2. Перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016-2019) или Получить данные → Из таблицы/диапазонаExcel 365).
  3. В открывшемся редакторе Power Query выделите столбец с датами.
  4. На вкладке Преобразовать выберите Столбец даты → Месяц → Название месяца.
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

  • 🚀 Обрабатывает миллионы строк без тормозов.
  • 🔄 Легко обновлять данные одним кликом (Данные → Обновить все).
  • 🌍 Автоматически учитывает региональные настройки.

Недостаток: требует изучения интерфейса Power Query, что может показаться сложным новичкам.

Формулы (ТЕКСТ, МЕСЯЦ)|Power Query|VBA|Условное форматирование|Не знаю, что это

-->

Способ 4: VBA — для опытных пользователей

Если вам нужно динамически обновлять названия месяцев или интегрировать преобразование в макрос, VBA (Visual Basic for Applications) — лучший выбор. Этот метод подходит для создания пользовательских функций или автоматизации отчётов.

Пример кода для пользовательской функции, которая возвращает название месяца:

Function MonthName(ByVal dateCell As Range) As String

Dim monthNum As Integer

monthNum = Month(dateCell.Value)

Select Case monthNum

Case 1: MonthName = "Январь"

Case 2: MonthName = "Февраль"

' ... остальные месяцы ...

Case 12: MonthName = "Декабрь"

End Select

End Function

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (Вставка → Модуль).
  3. Теперь в Excel можно использовать функцию как обычно: =MonthName(A1).

Плюсы VBA:

  • 🤖 Полная автоматизация — можно привязать к событиям (например, при открытии файла).
  • 🛠️ Гибкость — легко модифицировать под свои нужды (например, добавить вывод на английском).

Минусы:

  • ⚙️ Требует знания основ VBA.
  • ⚠️ Макросы могут быть отключены по умолчанию (проверьте Файл → Параметры → Центр управления безопасностью).
Как сделать функцию с выбором языка?

Добавьте второй аргумент в функцию для языка:

Function MonthName(ByVal dateCell As Range, Optional lang As String = "ru") As String

If lang = "en" Then

' Английские названия месяцев

Select Case Month(dateCell.Value)

Case 1: MonthName = "January"

' ...

End Select

Else

' Русские названия (по умолчанию)

' ...

End If

End Function

Теперь можно вызывать =MonthName(A1; "en") для английского варианта.

Способ 5: Условное форматирование — визуальное выделение

Иногда название месяца нужно не для расчётов, а для визуального акцента в отчётах. Например, чтобы все ячейки с "январем" были зелёными, а с "декабрём" — красными. Здесь поможет условное форматирование.

Инструкция:

  1. Выделите диапазон с датами.
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу для определения форматируемых ячеек.
  4. Введите формулу для января: =МЕСЯЦ(A1)=1.
  5. Задайте формат (например, зелёный фон) и нажмите ОК.
  6. Повторите для других месяцев, меняя номер в формуле.

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

СезонМесяцыФормулаЦвет
ЗимаДекабрь, Январь, Февраль=ИЛИ(МЕСЯЦ(A1)=12; МЕСЯЦ(A1)<=2)Синий
ВеснаМарт, Апрель, Май=И(МЕСЯЦ(A1)>=3; МЕСЯЦ(A1)<=5)Зелёный
ЛетоИюнь, Июль, Август=И(МЕСЯЦ(A1)>=6; МЕСЯЦ(A1)<=8)Жёлтый
ОсеньСентябрь, Октябрь, Ноябрь=И(МЕСЯЦ(A1)>=9; МЕСЯЦ(A1)<=11)Оранжевый

Условное форматирование не меняет сами данные — только их отображение. Это удобно для анализа, но не подходит, если нужно экспортировать текстовые названия месяцев в другие системы.

Типичные ошибки и как их избежать

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

1. Ошибка #ЗНАЧ! при использовании функции МЕСЯЦ

  • 🔍 Причина: В ячейке не дата, а текст (например, "15.05.2026" вместо даты).
  • 🛠️ Решение: Преобразуйте текст в дату с помощью ДАТАЗНАЧ() или измените формат ячейки на Дата.

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

  • 🔍 Причина: Региональные настройки Excel или системы установлены на английский.
  • 🛠️ Решение: Используйте формат "[$-ru-RU]мммм" в функции ТЕКСТ или применяйте ВЫБОР.

3. Некорректная сортировка по текстовым месяцам

  • 🔍 Причина: Текстовые названия ("Январь", "Февраль"...) сортируются по алфавиту, а не по порядку месяцев.
  • 🛠️ Решение: Добавьте вспомогательный столбец с номером месяца (=МЕСЯЦ(A1)) и сортируйте по нему.

4. Формула не обновляется при изменении даты

  • 🔍 Причина: В настройках Excel отключён автоматический пересчёт формул.
  • 🛠️ Решение: Перейдите в Формулы → Параметры вычислений → Автоматически.

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

Как получить месяц строчными буквами, если функция ТЕКСТ возвращает с заглавной?

Используйте комбинацию функций НИЖН.РЕГ и ТЕКСТ:

=НИЖН.РЕГ(ТЕКСТ(A1; "мммм"))

Для сокращённого варианта (3 буквы): =НИЖН.РЕГ(ТЕКСТ(A1; "ммм")).

Можно ли сделать так, чтобы месяц автоматически обновлялся при изменении даты?

Да, все описанные формулы (кроме Power Query без обновления) динамически пересчитываются. Если формула не обновляется:

  • Проверьте настройки пересчёта: Формулы → Параметры вычислений → Автоматически.
  • Нажмите F9, чтобы принудительно пересчитать все формулы в книге.
Как вывести месяц и год вместе (например, "Май 2026")?

Используйте функцию ТЕКСТ с комбинированным форматом:

=ТЕКСТ(A1; "мммм гггг")

Для английского варианта: =ТЕКСТ(A1; "[$-en-US]mmmm yyyy").

Почему в макросе месяц отображается как число, а не текст?

Функция Month() в VBA возвращает номер месяца (1–12). Чтобы получить название, используйте:

MonthName(Month(dateCell.Value), True) ' Сокращённое название

MonthName(Month(dateCell.Value), False) ' Полное название

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

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

Создайте список месяцев на отдельном листе (или введите вручную), затем:

  1. Выделите ячейку для выпадающего списка.
  2. Перейдите в Данные → Проверка данных.
  3. В поле Тип данных выберите Список.
  4. В поле Источник укажите диапазон с месяцами (например, =Лист2!A1:A12).