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

Проблема: дата есть, а нужен только месяц

Вы скачали отчёт с датами в формате 15.03.2026, а для анализа нужны только месяцы — март, апрель, май? Или требуется вытащить номер месяца (3, 4, 5) для сортировки? В Excel есть минимум 5 способов решить эту задачу — от элементарных до продвинутых. Но какой выбрать?

Если вы новичок, начните с функции =МЕСЯЦ() или форматирования ячеек. Опытным пользователям пригодятся ТЕКСТ() с кастомными форматами или Power Query для обработки тысяч строк. В этой статье — уникальные примеры с ошибками, которые 90% пользователей не замечают при извлечении месяцев, плюс таблица совместимости функций для разных версий Excel.

Важно: методы отличаются не только синтаксисом, но и результатом. Одни возвращают название месяца ("январь"), другие — порядковый номер (1), третьи — сокращение ("янв"). Мы разберём каждый случай с визуальными примерами.

Способ 1: Функция МЕСЯЦ() — номер месяца за 10 секунд

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

Формула простая:

=МЕСЯЦ(A1)

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

  • Плюсы: работает везде, не зависит от языковых настроек, мгновенный результат.
  • ⚠️ Минусы: возвращает только число, а не название месяца. Если нужен текст ("май"), читайте следующий раздел.
  • 🔄 Альтернатива: =ДЕНЬ(A1)*0+МЕСЯЦ(A1) — если дата хранится как текст, а не дата.
⚠️ Внимание: Если функция возвращает ошибку #ЗНАЧ!, проверьте формат ячейки с датой. Excel может воспринимать 15.05.2026 как текст, если данные импортированы из CSV. Исправьте формат на Дата через меню Главная → Формат → Формат ячеек.
📊 Какой формат месяца вам нужен чаще?
Числовой (1-12)
Полное название (январь)
Сокращение (янв)
Другой вариант

Способ 2: Функция ТЕКСТ() — название месяца на любом языке

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

Базовый синтаксис:

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

Где:

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

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

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

⚠️ Ловушка: Название месяца зависит от языка Excel. Если у вас английская версия, =ТЕКСТ(A1; "MMMM") вернёт May, а не "май". Чтобы принудительно получить русский месяц, используйте:

=ТЕКСТ(A1; "[$-419]ММММ")

Где [-$419] — код русского языка.

Ячейка с датой имеет формат "Дата", а не "Текст"|Проверен язык Excel (русский/английский)|Учтена разница между "МММ" и "ММММ"|Тестируется на 2-3 разных датах-->

Способ 3: Форматирование ячеек — месяц без формул

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

Инструкция:

  1. Выделите ячейки с датами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Вкладка ЧислоДата → выберите формат март 2012 или мар-12.
  4. Для кастомного формата выберите (все форматы) и введите:
    • ММММ — полное название;
    • МММ — сокращение;
    • М — номер без ведущего нуля.

Плюс метода: не требует формул, данные остаются датами (можно сортировать и фильтровать).

Минус: оригинальные даты визуально заменяются месяцами. Если позже потребуется вернуть полную дату, придётся отменять форматирование.

Что будет, если скопировать отформатированную ячейку в текстовый файл?

При копировании в Блокнот или Word Excel экспортирует реальное значение ячейки, а не отображаемый текст. То есть если ячейка содержит 15.05.2026, но отформатирована как "май", в текстовом файле окажется 45438 (внутренний числовой формат даты Excel). Чтобы экспортировать месяц как текст, используйте формулу =ТЕКСТ().

Способ 4: Power Query — обработка тысяч дат за 1 клик

Если у вас большой массив данных (от 10 000 строк), ручное применение формул тормозит Excel. В этом случае используйте Power Query — инструмент для автоматизации обработки данных.

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

  1. Выделите таблицу с датами → вкладка ДанныеИз таблицы/диапазона (в Excel 2016+).
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. Нажмите ПреобразоватьДатаМесяц → выберите формат:
    • Название месяца;
    • Номер месяца;
    • Сокращённое название.
  • Нажмите Закрыть и загрузить — Excel создаст новый лист с результатом.
  • 🔹 Преимущества Power Query:

    • 🚀 Обрабатывает миллионы строк без тормозов.
    • 🔄 Сохраняет шаги преобразования — при обновлении исходных данных результат пересчитывается автоматически.
    • 🌍 Поддерживает мультиязычные форматы (можно вытащить месяц на английском, даже если Excel русский).
    ⚠️ Внимание: Power Query доступен только в Excel 2016 и новее. В Excel 2010/2013 требуется установка надстройки Power Query for Excel (скачать с сайта Microsoft). Также инструмент может изменить структуру данных — например, разбить одну таблицу на несколько. Перед работой сделайте резервную копию файла.

    Способ 5: Формулы массива и ДВССЫЛ — для нестандартных задач

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

    Пример 1: Уникальный список месяцев из диапазона

    Формула возвращает все уникальные месяцы из столбца A1:A100:

    =ТРАНСП(УНИК(МЕСЯЦ(A1:A100)))

    Результат: {1; 2; 5} (если в данных были даты января, февраля и мая).

    Пример 2: Подсчёт строк по месяцам

    Считаем, сколько раз встречается каждый месяц:

    =ЧАСТОТА(МЕСЯЦ(A1:A100); ПОСЛЕДОВАТ(12;1;1;1))

    Формула вернёт массив из 12 чисел — по одному на каждый месяц.

    Пример 3: Динамический заголовок с текущим месяцем

    Если нужно вставить в отчёт автоматически обновляемый месяц (например, "Отчёт за май 2026"), используйте:

    ="Отчёт за " & ТЕКСТ(СЕГОДНЯ(); "ММММ ГГГГ")

    ⚠️ Ограничения:

    • Формулы массива (как в Примере 1) работают только в Excel 365 и 2021. В старых версиях используйте Ctrl+Shift+Enter.
    • ДВССЫЛ и ИНДЕКС могут замедлить файл при большом объёме данных.

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

    Даже опытные пользователи допускают ошибки при работе с месяцами в Excel. Вот TOP-5 ловушек и способы их обойти:

    ОшибкаПричинаРешение
    #ЗНАЧ! в функции МЕСЯЦ() Ячейка содержит текст ("15.05.2026"), а не дату. Преобразуйте текст в дату: =ДАТАЗНАЧ(A1).
    Месяц на английском (May вместо "май") Язык Excel не совпадает с языком системы. Используйте =ТЕКСТ(A1; "[$-419]ММММ") для русского.
    Формула =ТЕКСТ() возвращает #ИМЯ? Опечатка в формате (например, "МММММ" вместо "ММММ"). Проверьте синтаксис: допустимы только М, ММ, МММ, ММММ.
    После форматирования ячеек месяц отображается как ###### Ширина столбца недостаточна для текста. Расширьте столбец или уменьшите шрифт.
    Power Query не показывает опцию "Месяц" Столбец распознан как текст, а не дата. В Power Query выделите столбец → ПреобразоватьТип данных: Дата.

    🔍 Совет для отладки: Если формула не работает, проверьте формат ячейки с исходной датой. Для этого:

    1. Выделите ячейку → нажмите Ctrl+1.
    2. Если формат Общий или Текстовый, измените на Дата.
    3. Если дата хранится как текст (например, из CSV), используйте =ДАТАЗНАЧ().

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

    Как извлечь месяц из даты в формате "2026-05-15" (ISO)?

    Используйте =МЕСЯЦ(ДАТАЗНАЧ(ПОДСТАВИТЬ(A1; "-"; "."))). Функция ПОДСТАВИТЬ заменяет разделитель на точку, а ДАТАЗНАЧ преобразует текст в дату.

    Можно ли получить месяц на другом языке (например, украинском)?

    Да, используйте код локали в функции ТЕКСТ:

    • Украинский: =ТЕКСТ(A1; "[$-422]ММММ") → "травень";
    • Казахский: [$-427] → "мамыр";
    • Английский: [$-409] → "May".

    Полный список кодов локалей: документация Microsoft.

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

    Формула:

    =ДЕНЬ(ДАТА(ГОД(A1); МЕСЯЦ(A1)+1; 1)-1)

    Логика: берём первый день следующего месяца и отнимаем 1 день.

    Почему функция МЕСЯЦ возвращает 1 для даты 31.12.2026?

    Скорее всего, ваша дата на самом деле 31.01.2026, но отображается неправильно из-за ошибочного формата. Проверьте:

    1. Выделите ячейку → Ctrl+1 → посмотрите на значение в поле Образец.
    2. Если там 31.01.2026, исправьте исходные данные.
    Как автоматически обновлять месяц в заголовке отчёта?

    Используйте комбинацию СЕГОДНЯ() и ТЕКСТ():

    ="Данные актуальны на " & ТЕКСТ(СЕГОДНЯ(); "ММММ ГГГГ")

    Чтобы месяц не менялся при открытии файла, замените СЕГОДНЯ() на фиксированную дату (например, ДАТА(2026;5;1)).