Работа с датами в Microsoft Excel — одна из самых востребованных задач среди аналитиков, бухгалтеров и менеджеров. Часто требуется упростить отображение дат, убрав день и оставив только месяц и год — например, для отчётов, графиков или сводных таблиц. Но как это сделать быстро и без ошибок?
Многие пользователи пытаются вручную редактировать ячейки или использовать неэффективные обходные пути, что приводит к потере данных или ошибкам при сортировке. На самом деле в Excel есть как минимум 5 способов преобразовать дату в формат «месяц.год» или «месяц год» — от элементарных функций до автоматизированных решений. В этой статье разберём каждый метод с примерами, нюансами и типичными ошибками.
Если вам нужно просто отобразить даты в удобном виде — подойдёт форматирование ячеек. Если требуется извлечь месяц и год как текст для дальнейших расчётов — потребуются функции. А для обработки тысяч строк лучше использовать Power Query или макросы. Выбирайте метод под свою задачу!
1. Самый простой способ: форматирование ячеек
Если вам не нужно изменять сами данные, а только их отображение — достаточно настроить формат ячеек. Этот метод не меняет значение в ячейке (дату Excel по-прежнему воспринимает как полную дату), но визуально показывает только месяц и год.
Как это сделать:
- Выделите ячейки или диапазон с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте сочетаниеCtrl+1). - В открывшемся окне перейдите на вкладку
Число→Все форматы. - В поле
Тип:введите один из форматов:мм.yyyy— для вида «05.2026» (с ведущим нулём для месяцев 1–9).ммм yyyy— для вида «май 2026» (название месяца словами).мм/yyyy— для вида «05/2026».
ОК.✅ Плюсы: быстро, не требует формул, данные остаются датами (можно сортировать и фильтровать).
❌ Минусы: если скопировать такие ячейки в другой файл или программу, форматирование может сброситься, и отобразятся полные даты.
2. Функция ТЕКСТ: гибкое преобразование даты в текст
Когда нужно извлечь месяц и год как текстовое значение (например, для конкатенации с другими данными или использования в формулах), используйте функцию =ТЕКСТ(). Она преобразует дату в строку по заданному шаблону.
Синтаксис:
=ТЕКСТ(дата; "формат")
Где:
дата— ссылка на ячейку с датой (например,A1) или сама дата в форматеДАТА()."формат"— строка с кодом формата (см. таблицу ниже).
Примеры формул и результатов:
| Формула | Результат для даты 15.05.2026 | Описание формата |
|---|---|---|
=ТЕКСТ(A1; "мм.yyyy") | 05.2026 | Месяц с ведущим нулём, точка, год |
=ТЕКСТ(A1; "ммм yyyy") | май 2026 | Сокращённое название месяца, год |
=ТЕКСТ(A1; "м/yyyy") | 5/2026 | Месяц без ведущего нуля, косая черта |
=ТЕКСТ(A1; "[$-ru-RU]ммм yyyy") | май 2026 | Локализованный формат (русский язык) |
⚠️ Внимание: Результат функции
Если у вас есть текст "05.2026" и нужно преобразовать его обратно в дату (например, 1 мая 2026), используйте формулу: где ТЕКСТ — это строка, а не дата. Такие данные нельзя сортировать по времени или использовать в вычислениях без дополнительных преобразований.
Как вернуть дату из текстового формата?
=ДАТАЗНАЧ("01."&A1)A1 — ячейка с текстом "05.2026". Функция добавит "01." в начало строки, получится "01.05.2026", которое Excel распознает как дату.
3. Комбинация функций МЕСЯЦ и ГОД: для расчётов
Если вам нужно не только отобразить месяц и год, но и использовать их в формулах (например, для группировки данных), разделите дату на две части с помощью функций =МЕСЯЦ() и =ГОД(), а затем объедините результаты.
Пример формулы для формата «05.2026»:
=ТЕКСТ(МЕСЯЦ(A1); "00") & "." & ГОД(A1)
Разберём по шагам:
МЕСЯЦ(A1)— извлекает номер месяца (например, 5 для мая).ТЕКСТ(...; "00")— преобразует число в текст с ведущим нулём (5 → "05").ГОД(A1)— извлекает год (например, 2026).& "." &— объединяет части с точкой посередине.
Альтернативные варианты:
- Для формата «май 2026»:
=ТЕКСТ(A1; "ммм") & " " & ГОД(A1) - Для формата «2026-05» (ISO):
=ГОД(A1) & "-" & ТЕКСТ(МЕСЯЦ(A1); "00")
✅ Плюсы: гибкость, возможность использовать месяц и год по отдельности в расчётах.
❌ Минусы: формулы длиннее, чем у ТЕКСТ(), и требуют больше ресурсов при работе с большими массивами данных.
4. Power Query: обработка тысяч строк за минуты
Если у вас большой объём данных (тысячи строк) или даты нужно преобразовывать регулярно, используйте Power Query — инструмент для импорта и трансформации данных. Он позволяет создать повторяемый процесс, который обновляется при изменении исходных данных.
Пошаговая инструкция:
- Выделите таблицу с датами и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выделите столбец с датами.
- Перейдите на вкладку
Преобразовать→Формат → Дата→ выберите нужный формат (например,МММ ГГГГдля «май 2026»). - Либо создайте пользовательский столбец:
- Нажмите
Добавить столбец → Пользовательский столбец. - Введите название нового столбца (например, «МесяцГод»).
- В поле формулы используйте:
= Text.From(Date.Month([Дата])) & "." & Text.From(Date.Year([Дата]))где
[Дата]— имя вашего столбца с датами.
- Нажмите
Главная → Закрыть и загрузить, чтобы применить изменения.🔹 Преимущества Power Query:
- 🔄 Обрабатывает миллионы строк без тормозов.
- 🔄 Сохраняет шаги трансформации — можно обновлять данные одним кликом.
- 🔄 Поддерживает сложные преобразования (например, объединение с другими источниками).
✔️ Преобразуйте исходные данные в таблицу (Ctrl+T)
✔️ Убедитесь, что столбец с датами имеет формат "Дата" (не текст!)
✔️ Проверьте отсутствие пустых ячеек или ошибочных значений (например, "N/A")
✔️ Сохраните файл перед началом работы с Power Query-->
5. Макросы VBA: автоматизация для продвинутых пользователей
Если вам нужно преобразовывать даты по одному шаблону постоянно, напишите простой макрос на VBA. Это сэкономит время при повторяющихся задачах.
Пример макроса для преобразования выделенных ячеек в формат «мм.yyyy»:
Dim cell As Range For Each cell In Selection If IsDate(cell.Value) Then cell.NumberFormat = "мм.yyyy" End If Next cell End SubSub ConvertToMonthYear()
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код выше в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите ячейки с датами.
- Запустите макрос через
Вид → Макросы → Выполнить(или назначьте ему горячие клавиши).
🔹 Расширенный макрос (создаёт новый столбец с текстом «месяц.год»):
Sub AddMonthYearColumn()
Dim ws As Worksheet
Dim lastRow As Long, i As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Добавляем новый столбец справа от исходных данных
ws.Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Range("B1").Value = "МесяцГод"
' Заполняем формулой
For i = 2 To lastRow
ws.Cells(i, 2).Formula = "=TEXT(A" & i & ", ""мм.yyyy"")"
Next i
' Преобразуем формулы в значения
ws.Range("B2:B" & lastRow).Value = ws.Range("B2:B" & lastRow).Value
End Sub
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). При открытии такого файла Excel может показать предупреждение о безопасности — разрешите выполнение макросов, если доверяете источнику.
6. Типичные ошибки и как их избежать
При работе с датами в Excel даже опытные пользователи сталкиваются с ошибками. Вот самые распространённые проблемы и их решения:
🔴 Ошибка 1: Дата отображается как число (например, 45345)
- Причина: Ячейка имеет общий формат, а не формат
Дата. - Решение: Выделите ячейку →
Главная → Формат → Формат ячеек → Дата.
🔴 Ошибка 2: Функция ТЕКСТ возвращает #ЗНАЧ!
- Причина: В ячейке не дата, а текст (например, "15.05.2026" как строка).
- Решение: Преобразуйте текст в дату с помощью
=ДАТАЗНАЧ(A1)илиТекст по столбцам(Данные → Текст по столбцам).
🔴 Ошибка 3: После копирования формат сбрасывается
- Причина: Данные скопированы как значения без форматирования.
- Решение: Используйте
Специальная вставка → Форматыили преобразуйте даты в текст с помощью=ТЕКСТ().
🔴 Ошибка 4: Неправильная сортировка по месяцам
- Причина: Месяца отформатированы как текст (например, "май", "апрель"), а не как числа.
- Решение: Используйте числовые форматы (05.2026 вместо май 2026) или добавьте вспомогательный столбец с номерами месяцев.
🔴 Ошибка 5: Макрос не работает в файле .xlsx
- Причина: Файл сохранён без поддержки макросов.
- Решение: Сохраните файл как
.xlsm(Файл → Сохранить как → Тип файла: Книга Excel с поддержкой макросов).
Критическая ошибка: Если вы используете даты до 1900 года (например, исторические данные), Excel может обрабатывать их некорректно. В этом случае используйте текстовый формат или специализированные надстройки.
7. Продвинутые приёмы: динамические массивы и условное форматирование
Для опытных пользователей — несколько неочевидных способов работы с месяцами и годами:
🔹 Динамические массивы (Excel 365 и 2021)
Создайте автоматически расширяемый список уникальных месяцев и годов из диапазона:
=УНИК(ТЕКСТ(ФИЛЬТР(A2:A100; A2:A100<>""); "мм.yyyy"))
Эта формула:
- Фильтрует пустые ячейки в столбце
A. - Преобразует даты в формат «мм.yyyy».
- Возвращает только уникальные значения.
🔹 Условное форматирование по месяцу
Подсветите все даты, относящиеся к текущему месяцу:
- Выделите диапазон с датами.
- Перейдите в
Главная → Условное форматирование → Создать правило → Использовать формулу.... - Введите формулу:
=И(МЕСЯЦ(A1)=МЕСЯЦ(СЕГОДНЯ()); ГОД(A1)=ГОД(СЕГОДНЯ())) - Задайте цвет заполнения (например, зелёный) и нажмите
ОК.
🔹 Сводные таблицы с группировкой по месяцам
Если вы строите сводную таблицу, Excel позволяет группировать даты по месяцам и годам автоматически:
- Создайте сводную таблицу (
Вставка → Сводная таблица). - Перетащите поле с датой в область
Строки. - Нажмите правой кнопкой на любое значение даты в сводной таблице →
Группировать. - Выберите
МесяцыиГоды, нажмитеОК.
FAQ: Ответы на частые вопросы
Можно ли преобразовать дату в формат "месяц год" без формул?
Да, с помощью форматирования ячеек (см. раздел 1). Однако это изменит только отображение, а не сами данные. Если нужно получить текстовое значение (например, для экспорта), без формул не обойтись.
Почему после преобразования даты в текст сортировка работает неправильно?
Текстовые значения сортируются по алфавиту, а не по датам. Например, "апрель 2026" будет идти перед "январь 2026". Чтобы исправить это:
- Используйте числовые форматы (например, "04.2026" вместо "апрель 2026").
- Либо добавьте вспомогательный столбец с числовыми значениями месяцев (1–12) и сортируйте по нему.
Как извлечь месяц и год из даты в Google Sheets?
В Google Таблицах используйте те же функции, но с английским синтаксисом:
- Для формата "05.2026":
=TEXT(A1; "mm.yyyy") - Для формата "May 2026":
=TEXT(A1; "mmm yyyy")
Также можно использовать =MONTH(A1) & "." & YEAR(A1), но не забудьте отформатировать результат как текст.
Как преобразовать столбец с датами "15.05.2026" в "май 2026" за один клик?
Самый быстрый способ — Power Query:
- Загрузите данные в
Power Query(Данные → Из таблицы/диапазона). - Выделите столбец с датами →
Преобразовать → Формат → Дата→ выберите "МММ ГГГГ". - Нажмите
Закрыть и загрузить.
Альтернатива: используйте формулу =ТЕКСТ(A1; "ммм yyyy") и протяните её на весь столбец.
Можно ли вернуть исходные даты после преобразования в "месяц.год"?
Если вы использовали форматирование ячеек — даты сохранены, просто измените формат обратно на "Дата".
Если вы использовали функции (например, ТЕКСТ), исходные даты потеряны. Чтобы восстановить их, потребуется:
- Добавить "01." в начало текста (например, "05.2026" → "01.05.2026").
- Преобразовать результат в дату с помощью
=ДАТАЗНАЧ().