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

Почему числа вместо месяцев — и как это исправить

Вы скачали отчёт из или получили данные из корпоративной системы — и вместо привычных «январь», «февраль» в колонке с датами красуются цифры от 1 до 12? Это стандартная проблема при экспорте данных, когда программы кодируют месяцы числовыми значениями для экономии места. Вручную заменять каждое число на название — не вариант, особенно если строк тысячи. К счастью, Excel предлагает минимум 5 способов автоматизировать эту задачу — от элементарных формул до макросов для продвинутых пользователей.

В этой статье разберём все актуальные методы, включая нюансы для разных версий Excel (2010–2023, 365) и Google Таблиц. Вы узнаете, как:

  • 🔹 Преобразовать число в полное название месяца (например, «1» → «январь») или сокращённое («янв»);
  • 🔹 Автоматически обновлять данные при изменении исходных чисел;
  • 🔹 Обрабатывать ошибки, если в ячейке не число (например, текст или пустота);
  • 🔹 Применять формат к целым колонкам за один клик.

Спойлер: самый универсальный способ — функция ТЕКСТ, но для гибкости лучше комбинировать её с ВЫБОР или ИНДЕКС. А если вам нужно не только название, но и номер месяца в текстовом формате (например, «01» вместо «1»), то без ДЛСТР не обойтись. Но обо всём по порядку.

📊 Какой у вас Excel?
Excel 2010-2016
Excel 2019-2023
Excel 365 (онлайн)
Google Таблицы
Другой

Способ 1: Функция ТЕКСТ — проще не бывает

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

=ТЕКСТ(число; "мммм")  

=ТЕКСТ(число; "ммм")

Примеры:

  • 📌 =ТЕКСТ(A1; "мммм") → преобразует 3 в «март»;
  • 📌 =ТЕКСТ(A1; "ммм") → преобразует 3 в «мар»;
  • 📌 =ТЕКСТ(A1; "м") → вернёт 3 (без ведущего нуля) или 03 (если число двузначное).

Главный плюс метода — автоматическое обновление. Если в ячейке A1 изменится число с 3 на 5, формула мгновенно обновит результат на «май». Но есть и подводные камни:

⚠️ Внимание: Функция ТЕКСТ воспринимает число как месяц в дате. Если в ячейке 13 или больше, она вернёт ошибку #ЗНАЧ!, потому что в году только 12 месяцев. Чтобы избежать этого, добавьте проверку на диапазон (см. Способ 3).

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

Функция ВЫБОР даёт максимальную гибкость: вы можете задать любые названия месяцев, включая перевод на английский, украинский или даже эмодзи. Синтаксис:

=ВЫБОР(число; "январь"; "февраль"; "март"; ...; "декабрь")

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

=ВЫБОР(A1; "янв"; "фев"; "мар"; "апр"; "май"; "июн"; "июл"; "авг"; "сен"; "окт"; "ноя"; "дек")

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

  • 🌍 Работает с любыми языками — просто замените названия в формуле;
  • 🔄 Можно использовать собственные сокращения (например, «янв.» вместо «янв»);
  • ⚡ Быстрее, чем ТЕКСТ, если нужно обработать большие массивы данных (например, 100 000+ строк).

Но есть и минусы:

  • Не обновляется автоматически, если вы измените язык Excel (названия остаются теми, что прописаны в формуле);
  • ❌ Требует ручного ввода всех 12 вариантов — опечатка в одном слове сломает всю формулу.
Как сделать формулу короче?

Если вам лень вводить все 12 месяцев, можно использовать ИНДЕКС с массивом:

=ИНДЕКС({"янв";"фев";"мар";"апр";"май";"июн";"июл";"авг";"сен";"окт";"ноя";"дек"}; A1)

Это тот же ВЫБОР, но в более компактном виде.

Способ 3: Комбинация ЕСЛИОШИБКА + ТЕКСТ для обработки ошибок

Что делать, если в ваших данных есть не только числа от 1 до 12, но и пустые ячейки, текст или значения за пределами диапазона (например, 13 или 0)? Простая функция ТЕКСТ вернёт ошибку, а вот её комбинация с ЕСЛИОШИБКА — нет.

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

=ЕСЛИОШИБКА(ТЕКСТ(A1; "мммм"); "")

Расшифровка:

  • 🔍 Если в A1 число от 1 до 12 → вернёт название месяца;
  • 🚫 Если ошибка (например, текст или 13) → вернёт пустую строку;
  • ⚠️ Если нужно вывести сообщение об ошибке, замените "" на "Ошибка: недопустимое значение".

Для продвинутой обработки используйте вложенные ЕСЛИ:

=ЕСЛИ(И(A1>=1; A1<=12); ТЕКСТ(A1; "мммм"); ЕСЛИ(A1=""; ""; "Ошибка: " & A1))
⚠️ Внимание: Если в ячейке A1 хранится дата (например, «15.03.2026»), а не просто число, функция ТЕКСТ(A1; "мммм") вернёт «март» — но только если ячейка отформатирована как дата! Чтобы извлечь месяц из даты, используйте МЕСЯЦ(A1).

Способ 4: Пользовательский формат ячеек — без формул

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

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

  1. Выделите ячейки с числами (например, A1:A100);
  2. Нажмите Ctrl + 1 (или правая кнопка → Формат ячеек);
  3. Выберите вкладку Число → (все форматы);
  4. В поле Тип введите:
    • 📅 мммм — для полного названия («январь»);
    • 📅 ммм — для сокращённого («янв»);
  • Нажмите ОК.
  • Преимущества:

    • Не требует формул — данные остаются числами;
    • ✅ Работает мгновенно даже для миллиона строк;
    • ✅ Легко изменить формат обратно (просто выберите другой тип).

    Недостатки:

    • Не подходит для выгрузки — при копировании в другой файл или программу останутся числа;
    • ❌ Нельзя использовать результат в других формулах (например, для ВПР).

    ☑️ Проверка перед применением формата

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

    Способ 5: Макрос VBA для автоматизации (продвинутый уровень)

    Если вам нужно обработать тысячи строк или делать это регулярно, имеет смысл написать простой макрос на VBA. Он преобразует числа в месяца одним кликом и может работать с выделенным диапазоном.

    Код макроса для полных названий:

    Sub ConvertToMonth()
    

    Dim cell As Range

    For Each cell In Selection

    If IsNumeric(cell.Value) And cell.Value >= 1 And cell.Value <= 12 Then

    cell.Value = Format(DateSerial(2026, cell.Value, 1), "mmmm")

    End If

    Next cell

    End Sub

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

    1. Нажмите Alt + F11, чтобы открыть редактор VBA;
    2. Вставьте код в новый модуль (Insert → Module);
    3. Выделите ячейки с числами в Excel;
    4. Запустите макрос (F5 или через Макросы → ConvertToMonth).

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

    • Мгновенная обработка больших массивов;
    • 🔄 Можно модифицировать под свои нужды (например, добавить перевод на английский);
    • 📁 Сохраняет результат как текст, а не как формат.
    ⚠️ Внимание: Макросы работают только в Excel для Windows (не в Excel Online или Mac без дополнительных настроек). Перед запуском сохраните файл с расширением .xlsm (включающим макросы).

    Сравнение всех методов: какой выбрать?

    Чтобы вам было проще определиться, мы собрали ключевые параметры каждого способа в таблице:

    Метод Сложность Обработка ошибок Скорость Подходит для
    ТЕКСТ ❌ (нужна обёртка ЕСЛИОШИБКА) ⚡ Быстро Простые задачи, небольшие данные
    ВЫБОР/ИНДЕКС ⭐⭐ ✅ (можно прописать обработку) ⚡⚡ Очень быстро Многократное использование, нестандартные названия
    Пользовательский формат ❌ (ошибки остаются) ⚡⚡⚡ Мгновенно Визуальное отображение без изменения данных
    VBA-макрос ⭐⭐⭐ ✅ (настраивается в коде) ⚡⚡ Быстро Автоматизация, большие объёмы данных

    Критичный нюанс: Если ваши данные содержат даты в формате «дд.мм.гггг», а не просто числа, сначала извлеките месяц функцией МЕСЯЦ, а затем применяйте любой из описанных методов. Например:

    =ТЕКСТ(МЕСЯЦ(A1); "мммм")

    FAQ: Частые вопросы и ошибки

    Почему вместо «январь» отображается «January»?

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

    1. Перейдите в Файл → Параметры → Язык;
    2. Добавьте русский как язык редактирования;
    3. Или явно укажите язык в формуле: =ТЕКСТ(A1; "[$-419]мммм"), где 419 — код русского языка.
    Как преобразовать месяц обратно в число?

    Используйте функцию МЕСЯЦ с любой датой этого месяца. Например, чтобы получить 3 из «март»:

    =МЕСЯЦ(ДАТАЗНАЧ("1 март 2026"))

    Или для ячейки с текстом:

    =МЕСЯЦ(ДАТАЗНАЧ("1 " & A1 & " 2026"))
    Можно ли сделать это в Google Таблицах?

    Да, все методы работают, кроме VBA-макросов. Используйте:

    • =TEXT(A1; "mmmm") — аналог ТЕКСТ;
    • =CHOOSEROWS (вместо ВЫБОР);
    • =ARRAYFORMULA для обработки колонок.
    Почему формула возвращает #ИМЯ?

    Ошибка #ИМЯ? означает, что Excel не распознаёт имя функции. Возможные причины:

    • 🔹 Опечатка в названии (например, ТЕКСТТ вместо ТЕКСТ);
    • 🔹 Используется английская версия Excel — замените ТЕКСТ на TEXT;
    • 🔹 В настройках отключены надстройки (проверьте в Параметры → Надстройки).
    Как добавить год к месяцу (например, «март 2026»)?

    Объедините функции ТЕКСТ и ГОД (если год хранится в другой ячейке):

    =ТЕКСТ(A1; "мммм") & " " & B1

    Где A1 — месяц (число), а B1 — год. Если год фиксированный:

    =ТЕКСТ(A1; "мммм") & " 2026"