Проблема: дата есть, а нужен только месяц
Вы скачали отчёт с датами в формате 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. Исправьте формат наДатачерез менюГлавная → Формат → Формат ячеек.
Способ 2: Функция ТЕКСТ() — название месяца на любом языке
Если вам нужно не число, а слово ("январь", "февраль"), используйте функцию =ТЕКСТ(). Она преобразует дату в текстовый формат с гибкими настройками.
Базовый синтаксис:
=ТЕКСТ(A1; "ММММ")
Где:
A1— ячейка с датой;"ММММ"— формат отображения (ММММ= полное название,МММ= сокращение).
Примеры результатов:
| Формат | Пример кода | Результат для 15.05.2026 |
|---|---|---|
| Полное название | =ТЕКСТ(A1; "ММММ") | май |
| Сокращение | =ТЕКСТ(A1; "МММ") | май |
| Число с ведущим нулём | =ТЕКСТ(A1; "ММ") | 05 |
| Название + год | =ТЕКСТ(A1; "ММММ ГГГГ") | май 2026 |
⚠️ Ловушка: Название месяца зависит от языка Excel. Если у вас английская версия, =ТЕКСТ(A1; "MMMM") вернёт May, а не "май". Чтобы принудительно получить русский месяц, используйте:
=ТЕКСТ(A1; "[$-419]ММММ")
Где [-$419] — код русского языка.
Ячейка с датой имеет формат "Дата", а не "Текст"|Проверен язык Excel (русский/английский)|Учтена разница между "МММ" и "ММММ"|Тестируется на 2-3 разных датах-->
Способ 3: Форматирование ячеек — месяц без формул
Если вам не нужно выделять месяц в отдельный столбец, а достаточно отобразить его в исходной ячейке — измените формат ячейки. Это сработает, даже если у вас нет прав на редактирование формул.
Инструкция:
- Выделите ячейки с датами.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Вкладка
Число→Дата→ выберите форматмарт 2012илимар-12. - Для кастомного формата выберите
(все форматы)и введите:ММММ— полное название;МММ— сокращение;М— номер без ведущего нуля.
✅ Плюс метода: не требует формул, данные остаются датами (можно сортировать и фильтровать).
❌ Минус: оригинальные даты визуально заменяются месяцами. Если позже потребуется вернуть полную дату, придётся отменять форматирование.
Что будет, если скопировать отформатированную ячейку в текстовый файл?
При копировании в Блокнот или Word Excel экспортирует реальное значение ячейки, а не отображаемый текст. То есть если ячейка содержит 15.05.2026, но отформатирована как "май", в текстовом файле окажется 45438 (внутренний числовой формат даты Excel). Чтобы экспортировать месяц как текст, используйте формулу =ТЕКСТ().
Способ 4: Power Query — обработка тысяч дат за 1 клик
Если у вас большой массив данных (от 10 000 строк), ручное применение формул тормозит Excel. В этом случае используйте Power Query — инструмент для автоматизации обработки данных.
Пошаговая инструкция:
- Выделите таблицу с датами → вкладка
Данные→Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выделите столбец с датами.
- Нажмите
Преобразовать→Дата→Месяц→ выберите формат:Название месяца;Номер месяца;Сокращённое название.
Закрыть и загрузить — 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 выделите столбец → Преобразовать → Тип данных: Дата. |
🔍 Совет для отладки: Если формула не работает, проверьте формат ячейки с исходной датой. Для этого:
- Выделите ячейку → нажмите
Ctrl+1. - Если формат
ОбщийилиТекстовый, измените наДата. - Если дата хранится как текст (например, из 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, но отображается неправильно из-за ошибочного формата. Проверьте:
- Выделите ячейку →
Ctrl+1→ посмотрите на значение в полеОбразец. - Если там
31.01.2026, исправьте исходные данные.
Как автоматически обновлять месяц в заголовке отчёта?
Используйте комбинацию СЕГОДНЯ() и ТЕКСТ():
="Данные актуальны на " & ТЕКСТ(СЕГОДНЯ(); "ММММ ГГГГ")
Чтобы месяц не менялся при открытии файла, замените СЕГОДНЯ() на фиксированную дату (например, ДАТА(2026;5;1)).