Работа с датами в Microsoft Excel — одна из самых востребованных задач среди пользователей. Часто требуется не просто хранить даты в ячейках, а извлекать из них конкретную информацию: год, день недели или, что особенно актуально, месяц. Например, при анализе продаж по месяцам, составлении отчётов или планировании бюджета. Но как правильно вытащить месяц из даты, чтобы дальнейшие расчёты были точными?
В этой статье мы разберём 7 рабочих способов — от элементарных функций типа МЕСЯЦ() до комплексных формул с условиями и пользовательским форматированием. Вы узнаете, как получить название месяца на русском, его номер, а также как автоматизировать процесс для больших массивов данных. Особое внимание уделим типичным ошибкам, которые допускают даже опытные пользователи, и покажем, как их избежать.
1. Функция МЕСЯЦ(): простейший способ получить номер месяца
Начнём с базового инструмента — функции МЕСЯЦ() (англ. MONTH()). Она возвращает номер месяца (от 1 до 12) для указанной даты. Синтаксис прост:
=МЕСЯЦ(дата)
Где дата — это ссылка на ячейку с датой (например, A1) или сама дата в формате ДД.ММ.ГГГГ, заключённая в кавычки. Примеры:
- 📅
=МЕСЯЦ("15.03.2026")→ вернёт 3 (март) - 📅
=МЕСЯЦ(A1)→ извлечёт месяц из ячейкиA1, если там содержится дата - 📅
=МЕСЯЦ(СЕГОДНЯ())→ вернёт номер текущего месяца
Функция игнорирует время, если оно указано в дате, и всегда возвращает целое число. Это удобно для дальнейших вычислений, например, для группировки данных по месяцам.
2. Текстовый формат: как получить название месяца (январь, февраль и т.д.)
Функция МЕСЯЦ() возвращает только номер, но что делать, если нужен текст — например, "апрель" вместо "4"? Здесь поможет функция ТЕКСТ() (англ. TEXT()). Она преобразует дату в текстовый формат с учётом заданного шаблона:
=ТЕКСТ(дата; "ММММ")
Где "ММММ" — это код формата, который выводит полное название месяца. Другие варианты:
- 📌
"МММ"→ сокращённое название (янв, фев, март) - 📌
"М"или"ММ"→ номер месяца (1, 02, 12 и т.д.) - 📌
"Д ММММ ГГГГ"→ формат "5 апреля 2026"
Пример: =ТЕКСТ("15.05.2026"; "ММММ") вернёт "май". Обратите внимание, что результат будет на том языке, который установлен в настройках Excel. Для русскоязычной версии это будут названия на русском.
⚠️ Внимание: Функция ТЕКСТ() возвращает текст, а не число. Это значит, что дальнейшие математические операции (например, сложение или сортировка) с таким результатом будут невозможны без дополнительных преобразований.
3. Функция ДАТАМЕС(): работа с месяцами в динамике
Если вам нужно не просто извлечь месяц, а сдвинуть дату на определённое количество месяцев (например, для прогнозирования или анализа трендов), используйте функцию ДАТАМЕС() (англ. EDATE()). Она добавляет или вычитает месяцы из указанной даты:
=ДАТАМЕС(начальная_дата; количество_месяцев)
Примеры:
- 🔄
=ДАТАМЕС("15.03.2026"; 1)→ 15.04.2026 (сдвиг на 1 месяц вперёд) - 🔄
=ДАТАМЕС(A1; -3)→ сдвиг даты из ячейкиA1на 3 месяца назад
Эта функция полезна для создания динамических отчётов, где нужно автоматически обновлять даты. Например, если вы ведёте график платежей по кредиту, ДАТАМЕС() поможет рассчитать даты будущих выплат.
4. Пользовательское форматирование: быстрый способ отображения месяца
Не всегда нужно использовать формулы — иногда достаточно изменить формат ячейки, чтобы отобразить только месяц. Этот метод не меняет само значение ячейки (дата остаётся датой), но визуально показывает только нужную часть:
- Выделите ячейку или диапазон с датами.
- Нажмите правой кнопкой мыши →
Формат ячеек(илиCtrl+1). - Вкладка
Число→ категорияВсе форматы. - В поле
Типвведите один из кодов:- 📆
ММММ— полное название месяца (например, "июнь") - 📆
МММ— сокращённое название (например, "июн") - 📆
МилиММ— номер месяца (1–12)
- 📆
Преимущество этого метода в том, что вы можете в любой момент вернуть полный формат даты, не теряя исходные данные. Однако помните: форматирование не изменяет значение ячейки, поэтому для расчётов всё равно потребуются функции.
Что будет, если применить формат "ММММ" к тексту?
Если в ячейке содержится не дата, а текст (например, "15 марта"), Excel проигнорирует форматирование и отобразит текст без изменений. Чтобы преобразовать текст в дату, используйте функцию ДАТАЗНАЧ().
5. Комбинация функций: сложные задачи с месяцами
Для решения нестандартных задач часто требуется комбинировать несколько функций. Рассмотрим популярные сценарии:
5.1. Определение квартала по месяцу
Если нужно сгруппировать данные по кварталам, используйте формулу:
=ОКРУГЛВВЕРХ(МЕСЯЦ(A1)/3; 0)
Она вернёт номер квартала (1–4) для даты в ячейке A1.
5.2. Последний день месяца
Чтобы найти последний день месяца (например, для расчёта дедлайнов), используйте:
=ДАТА(ГОД(A1); МЕСЯЦ(A1)+1; 0)
Формула добавляет 1 месяц к дате и отнимает 1 день, возвращая последний день текущего месяца.
5.3. Название месяца на английском
Если требуется название месяца на английском (например, для международных отчётов), используйте:
=ТЕКСТ(A1; "[$-409]ММММ")
Где [$-409] — код локали для английского языка.
| Задача | Формула | Пример результата |
|---|---|---|
| Номер месяца | =МЕСЯЦ(A1) |
5 (для мая) |
| Название месяца (рус.) | =ТЕКСТ(A1; "ММММ") |
"май" |
| Последний день месяца | =ДАТА(ГОД(A1); МЕСЯЦ(A1)+1; 0) |
31.05.2026 |
| Квартал по месяцу | =ОКРУГЛВВЕРХ(МЕСЯЦ(A1)/3; 0) |
2 (для мая) |
6. Ошибки при работе с месяцами в Excel и как их избежать
Даже опытные пользователи сталкиваются с ошибками при извлечении месяцев из дат. Рассмотрим самые распространённые проблемы и их решения:
⚠️ Внимание: Если функцияМЕСЯЦ()возвращает#ЗНАЧ!, проверьте, что ячейка содержит именно дату, а не текст. ИспользуйтеДАТАЗНАЧ()для преобразования текста в дату:=МЕСЯЦ(ДАТАЗНАЧ("15 марта 2026")).
- ❌ Ошибка #ИМЯ?: Возникает, если название функции написано с ошибкой (например,
МЕСЯЦЫвместоМЕСЯЦ). Проверьте синтаксис. - ❌ Неправильный формат даты: Excel может воспринимать дату как текст, если она введена в нестандартном формате (например, "март-2026"). Используйте
ДАТА()илиДАТАЗНАЧ()для корректного преобразования. - ❌ Проблемы с локализацией: Названия месяцев на русском не отображаются, если в настройках Excel установлен английский язык. Измените языковые параметры в
Файл → Параметры → Язык. - ❌ Округление дат: Функции вроде
ОКРУГЛ()не работают с датами напрямую. Преобразуйте дату в число с помощьюДАТАЗНАЧ().
Ещё одна типичная ошибка — использование текста вместо даты. Например, если в ячейке написано "июнь 2026", Excel не сможет извлечь номер месяца без предварительного преобразования. В таких случаях поможет комбинация функций:
=МЕСЯЦ(ДАТАЗНАЧ("1 " & A1))
Где A1 содержит текст "июнь 2026". Формула добавляет "1 " перед текстом, преобразуя его в корректную дату.
Убедитесь, что ячейка содержит дату, а не текст|Проверьте регистр в названиях функций (МЕСЯЦ, а не месяц)|Используйте локаль [$-409] для английских названий месяцев|Применяйте ДАТАЗНАЧ() для преобразования текста в дату-->
7. Автоматизация: как быстро применить формулы ко всему столбцу
Если вам нужно извлечь месяц из сотен или тысяч дат, вручную прописывать формулу для каждой ячейки неэффективно. Вот 3 способа автоматизации:
7.1. Маркер заполнения
Введите формулу в первую ячейку (например, =МЕСЯЦ(A1) в B1), затем:
- Наведите курсор на правый нижний угол ячейки (появится крестик).
- Дважды кликните или протяните вниз до конца диапазона.
7.2. Горячие клавиши
Выделите ячейку с формулой, нажмите Ctrl+C, затем выделите диапазон для вставки и нажмите Ctrl+V. Excel автоматически скорректирует ссылки (например, A1 станет A2, A3 и т.д.).
7.3. Таблицы Excel (Ctrl+T)
Преобразуйте диапазон в умную таблицу (Вставка → Таблица или Ctrl+T). Формулы, добавленные в столбец таблицы, автоматически применяются ко всем новым строкам.
Важно: При копировании формул с абсолютными ссылками (например, $A$1) они не будут корректироваться. Используйте относительные ссылки (A1) или смешанные ($A1), если нужно зафиксировать только столбец.
FAQ: Частые вопросы по работе с месяцами в Excel
Как извлечь месяц из даты, если она записана как текст (например, "15 марта 2026")?
Используйте функцию ДАТАЗНАЧ() для преобразования текста в дату, а затем примените МЕСЯЦ():
=МЕСЯЦ(ДАТАЗНАЧ("15 марта 2026"))
Если текст хранится в ячейке A1, формула будет:
=МЕСЯЦ(ДАТАЗНАЧ(A1))
Почему функция ТЕКСТ() возвращает месяц на английском, хотя в Excel установлен русский язык?
Это происходит, если в формуле явно указан код локали для английского языка (например, [$-409]). Уберите его или замените на [$-419] для русского:
=ТЕКСТ(A1; "ММММ")
Если проблема сохраняется, проверьте языковые настройки в Файл → Параметры → Язык.
Можно ли извлечь месяц из даты без использования функций?
Да, с помощью пользовательского форматирования (см. раздел 4). Однако это только визуальное отображение — для расчётов всё равно потребуются функции. Например, если вам нужно отсортировать данные по месяцам, форматирование не поможет: используйте столбец с формулой =МЕСЯЦ().
Как посчитать количество дней в месяце для любой даты?
Используйте формулу:
=ДЕНЬ(ДАТА(ГОД(A1); МЕСЯЦ(A1)+1; 0))
Она вернёт количество дней в месяце для даты в ячейке A1. Например, для февраля 2026 года (високосный) результат будет 29.
Как сравнить месяцы двух дат (например, проверить, относятся ли они к одному месяцу)?
Используйте логическую формулу:
=И(ГОД(A1)=ГОД(B1); МЕСЯЦ(A1)=МЕСЯЦ(B1))
Она вернёт ИСТИНА, если даты в ячейках A1 и B1 приходятся на один месяц и год, и ЛОЖЬ в противном случае.