Работа с месяцами в Microsoft Excel — одна из самых частых задач при создании отчётов, графиков или планировщиков. Казалось бы, что может быть проще: ввёл название месяца или его номер — и готово. Но на практике пользователи сталкиваются с проблемами: Excel не распознаёт формат, сортирует данные неправильно или вовсе воспринимает месяцы как текст. Почему так происходит?
Дело в том, что Excel воспринимает даты и месяцы как числовые значения, а не как текст. Например, январь 2026 для программы — это число 45292 (количество дней с 1 января 1900 года). Если ввести месяц как обычный текст, все функции дат перестанут работать. В этой статье разберём 5 способов корректного ввода месяцев — от простых до продвинутых, — а также типичные ошибки и их решения.
Для начала определитесь, что именно вам нужно: просто отобразить название месяца (например, для заголовка таблицы) или использовать его в расчётах (например, для фильтрации данных по периодам). От этого зависит выбор метода.
1. Ручной ввод месяцев: текст vs. дата
Самый очевидный способ — ввести месяц вручную. Но здесь кроется подвох: Excel может интерпретировать введённое значение по-разному.
Если вы напишете «январь»** в ячейке, программа воспримет это как текст. Такой подход подходит для оформления заголовков, но не позволит:
Чтобы Excel распознал месяц как часть даты, вводите его в одном из стандартных форматов:
Для быстрого ввода серии месяцев (например, для создания календаря) используйте маркер автозаполнения:
Если вам нужно сгенерировать дату программно (например, для динамических отчётов), используйте функцию Синтаксис:
Примеры использования:
Преимущество этого метода — гибкость. Например, вы можете создать таблицу, где в столбце A перечислены месяцы с 1 по 12, а в столбце B автоматически генерируются даты первого числа каждого месяца:
Указан ли год в 4-значном формате (2026, а не 24)| Месяц — число от 1 до 12 (или формула, возвращающая такое число)| День не превышает количество дней в месяце (например, не 31 февраля)| Формат ячейки установлен как "Дата"--> Часто бывает нужно не создать месяц, а извлечь его из существующей даты. Например, у вас есть столбец с датами продаж, и вы хотите отдельно проанализировать данные по месяцам. Для этого используется функция Синтаксис:
Примеры:
Результат функции — число от 1 (январь) до 12 (декабрь). Чтобы преобразовать его в название месяца, используйте Эта формула вернёт полное название месяца (например, где Иногда месяцы нужно отображать в нестандартном формате — например, как Пример 1: Преобразовать номер месяца в его название:
где Пример 2: Создать формат Пример 3: Сокращённое название месяца на английском:
Для массового преобразования текстового списка месяцев (например,
1. Перейдите на вкладку 2. В поле 3. В поле или укажите диапазон ячеек с названиями месяцев. 4. Нажмите Теперь при выборе ячейки появится выпадающий список.
=МЕСЯЦ(A1) вернёт ошибку)
01.01.2026 (день.месяц.год)янв-24 или январь 2026 (Excel автоматически преобразует в дату)1/1/2026 (американский формат месяц/день/год — будьте осторожны!)⚠️ Внимание: Если после ввода даты в ячейке отображается число (например,
45292), не пугайтесь! Это внутренний формат Excel. Чтобы увидеть привычную дату, измените формат ячейки на Дата (вкладка Главная → Формат → Формат ячеек).
01.01.2026).2. Функция ДАТА(): создание дат с нуля
=ДАТА(). Она позволяет создать дату из трёх компонентов: года, месяца и дня.
=ДАТА(год; месяц; день)
=ДАТА(2026; 1; 1) → 01.01.2026=ДАТА(ГОД(СЕГОДНЯ()); 5; 1) → первое мая текущего года=ДАТА(2026; МЕСЯЦ(СЕГОДНЯ())+1; 1) → первый день следующего месяца=ДАТА(2026; A1; 1)⚠️ Внимание: Если в формуле указать месяц
13 или больше, Excel автоматически перенесёт значение на следующий год. Например, =ДАТА(2026; 13; 1) вернёт 01.01.2026. Это поведение можно использовать для расчётов с пересечением годовых границ.3. Функция МЕСЯЦ(): извлечение месяца из даты
=МЕСЯЦ().
=МЕСЯЦ(дата_в_формате_Excel)
=МЕСЯЦ("15.03.2026") → 3 (март)=МЕСЯЦ(СЕГОДНЯ()) → номер текущего месяца=МЕСЯЦ(A1), где в A1 содержится дата=ТЕКСТ():
=ТЕКСТ(ДАТА(2026; МЕСЯЦ(A1); 1); "MMMM")"март") на основе даты в ячейке A1.
Формула
Результат
Пояснение
=МЕСЯЦ("10.05.2026")5Май — пятый месяц года
=ТЕКСТ(ДАТА(2026;5;1);"МММ")майСокращённое название месяца
=ТЕКСТ(ДАТА(2026;5;1);"ММММ")май (на русском)Полное название на языке системы
=МЕСЯЦ(СЕГОДНЯ())Зависит от текущей даты
Динамическое значение
=ТЕКСТ(ДАТА(2026;5;1);"[$-409]MMMM")409 — код языка для английского (США).-->4. Текстовые функции: ТЕКСТ(), ВЫБРАТЬ() и другие
"Q1: Январь" (квартал + месяц) или "01-Янв". Для этого используйте комбинацию функций =ТЕКСТ() и =ВЫБРАТЬ().
=ВЫБРАТЬ(A1; "Январь"; "Февраль"; "Март"; ...; "Декабрь")A1 содержит число от 1 до 12."Q1: Январь" для квартального отчёта:
=ТЕКСТ(ДАТА(2026;A1;1);"\"Q\"Q: MMMM")=ТЕКСТ(ДАТА(2026;A1;1);"[$-409]MMM")"январь", "февраль") в номера используйте функцию =ПОИСКПОЗ():
=ПОИСКПОЗ(A1;{"январь";"февраль";"март";...;"декабрь"};0)⚠️ Внимание: Функция
ВЫБРАТЬ() чувствительна к регистру! Если в ячейке написано "Январь" с большой буквы, а в формуле указано "январь" — результат будет ошибкой #Н/Д.Как создать выпадающий список месяцев?
Данные → Проверка данных.Тип данных выберите Список.Источник введите:январь,февраль,март,апрель,май,июнь,июль,август,сентябрь,октябрь,ноябрь,декабрьОК.
5. Динамические месяцы: СЕГОДНЯ(), МЕСЯЦ(), ЕМЕСЯЦ()
Для создания динамических отчётов, которые автоматически обновляются при изменении текущей даты, используйте комбинацию функций:
- 📅
=СЕГОДНЯ()— возвращает текущую дату. - 📅
=МЕСЯЦ(СЕГОДНЯ())— номер текущего месяца. - 📅
=ЕМЕСЯЦ()— добавляет или вычитает месяцы из даты.
Пример 1: Получить название текущего месяца:
=ТЕКСТ(СЕГОДНЯ();"MMMM")
Пример 2: Сгенерировать дату через 3 месяца от сегодняшней:
=ЕМЕСЯЦ(СЕГОДНЯ(); 3)
Пример 3: Создать таблицу с месяцами текущего квартала:
=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())-ОСТАТ(МЕСЯЦ(СЕГОДНЯ())-1;3)+1; 1)
Эта формула вернёт первое число первого месяца текущего квартала.
Для визуализации динамических данных используйте условное форматирование. Например, можно выделить цветом ячейки с датами, которые относятся к текущему месяцу:
- Выделите диапазон с датами.
- Перейдите в
Главная → Условное форматирование → Создать правило. - Выберите
Использовать формулу...и введите:=МЕСЯЦ(A1)=МЕСЯЦ(СЕГОДНЯ()) - Задайте формат (например, зелёный фон) и нажмите
ОК.
6. Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с проблемами при работе с месяцами. Вот самые распространённые ошибки и их решения:
Ошибка 1: Месяцы сортируются по алфавиту, а не по порядку.
- 🔹 Причина: Месяца введены как текст (
"январь","февраль"... - 🔹 Решение: Преобразуйте текст в даты с помощью функции
=ДАТАЗНАЧ()или введите месяцы как числа (1–12).
Ошибка 2: Формула =МЕСЯЦ(A1) возвращает #ЗНАЧ!.
- 🔹 Причина: В ячейке
A1не дата, а текст (например,"январь"). - 🔹 Решение: Преобразуйте текст в дату с помощью
=ДАТАЗНАЧ("1-"&A1&"-2026")(если вA1название месяца).
Ошибка 3: При автозаполнении даты увеличивается не месяц, а день.
- 🔹 Причина: Excel по умолчанию увеличивает день, а не месяц.
- 🔹 Решение: Введите две даты (например,
01.01.2026и01.02.2026), выделите обе и протяните маркер автозаполнения.
Ошибка 4: Функция =ЕМЕСЯЦ() возвращает неверную дату.
- 🔹 Причина: Исходная дата введена как текст или в некорректном формате.
- 🔹 Решение: Убедитесь, что ячейка содержит настоящую дату (проверьте формат ячейки).
| Ошибка | Пример | Решение |
|---|---|---|
| Месяцы как текст | "январь" вместо 01.01.2026 |
Использовать =ДАТАЗНАЧ() или вводить как дату |
| Неправильная сортировка | Апрель, август, декабрь... | Преобразовать в числовой формат (1–12) |
#ЗНАЧ! в МЕСЯЦ() |
=МЕСЯЦ("январь") |
Заменить текст на дату или использовать =ПОИСКПОЗ() |
ЕМЕСЯЦ() даёт 31 февраля |
=ЕМЕСЯЦ("31.01.2026";1) |
Excel автоматически корректирует дату на 29.02.2026 |
7. Продвинутые приёмы: массивы и Power Query
Для сложных задач (например, генерации месяцев за несколько лет или обработки больших массивов данных) используйте формулы массивов или инструмент Power Query.
Пример 1: Сгенерировать список всех месяцев за 5 лет (2020–2026) в одном столбце:
=ТРАНСП(ДАТА(ПОВТОР(ПОСЛЕДОВ(2020;5);12); ПОВТОР(ПОСЛЕДОВ(1;12);5); 1))
Эта формула создаст массив дат первого числа каждого месяца за 5 лет.
Пример 2: В Power Query (вкладка Данные → Получить данные):
- Создайте новый запрос
Из других источников → Пустой запрос. - В редакторе введите в строку формул:
= {1..12}и преобразуйте в таблицу.
- Добавьте пользовательский столбец с формулой:
= Date.From(DateTime(2026, [Column1], 1)) - Загрузите данные в Excel.
Пример 3: Динамический календарь на год с указанием кварталов:
=ТЕКСТ(ДАТА(2026;ПОСЛЕДОВ(1;12);1);"MMMM") & " (Q" & ОКРВВЕРХ(ПОСЛЕДОВ(1;12)/3;0) & ")"
Результат: "Январь (Q1)", "Февраль (Q1)", ..., "Декабрь (Q4)".
⚠️ Внимание: Формулы массивов (вродеПОСЛЕДОВ()) доступны только в Excel 365 и Excel 2021. В более старых версиях используйте комбинациюСТРОКА()иДАТА().
FAQ: Частые вопросы о месяцах в Excel
Как в Excel написать месяц прописью (например, "январь")?
Используйте функцию =ТЕКСТ() с форматированием:
=ТЕКСТ(ДАТА(2026;1;1);"MMMM")
Для сокращённого варианта ("янв") замените "MMMM" на "MMM".
Почему Excel не распознаёт месяц как дату?
Скорее всего, вы ввели месяц как текст (например, "январь"). Чтобы исправить:
- Введите дату в формате
01.01.2026. - Или используйте
=ДАТАЗНАЧ("1-январь-2026").
Проверьте формат ячейки: он должен быть Дата, а не Текст.
Как сделать автозаполнение месяцев понедельно?
Введите первую дату (например, 01.01.2026), затем протяните маркер автозаполнения, удерживая правую кнопку мыши. В появившемся меню выберите Заполнить по дням или Заполнить по неделям.
Можно ли в Excel написать месяц на английском?
Да, используйте код языка в функции ТЕКСТ():
=ТЕКСТ(ДАТА(2026;5;1);"[$-409]MMMM")
где 409 — код для английского (США). Для других языков используйте соответствующие коды (например, 407 для немецкого).
Как посчитать количество месяцев между двумя датами?
Используйте функцию =РАЗНДАТ():
=РАЗНДАТ("01.01.2023"; "01.05.2026"; "m")
где "m" — код для месяцев. Результат: 16 (месяцев между январём 2023 и маем 2026).