Работа с датами в Microsoft Excel — одна из самых востребованных задач среди пользователей. Часто возникает необходимость преобразовать полную дату (например, 15.05.2026) в формат без года — только день и месяц (15.05). Это может понадобиться для отчётов, где год неважен, для визуализации сезонных данных или просто для упрощения восприятия информации.
Однако многие сталкиваются с трудностями: Excel хранит даты как числовые значения, где год — неотъемлемая часть. Простое удаление символов через НАЙТИ/ЗАМЕНИТЬ часто приводит к ошибкам, особенно если данные представлены в разных форматах. В этой статье мы разберём 5 надёжных способов удалить год из даты — от простейших до продвинутых, с учётом нюансов форматирования и автоматизации.
Важно понимать, что результат зависит от исходного формата ячеек. Если Excel воспринимает ваши данные как текст (например, "15.05.2026" в кавычках), подход будет одним. Если же это настоящая дата (числовое значение с форматом дд.мм.гггг) — совсем другим. Мы рассмотрим оба варианта, чтобы вы могли выбрать оптимальное решение для своей задачи.
1. Метод 1: Форматирование ячеек (без изменения данных)
Самый простой способ скрыть год — изменить формат отображения ячейки. Это не удаляет год из внутреннего представления даты, но визуально показывает только день и месяц. Подходит, если вам нужно быстро привести данные к читаемому виду без изменения исходных значений.
Для этого:
- Выделите ячейки с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек(или используйте сочетаниеCtrl+1). - В окне форматирования перейдите на вкладку
Число→Другие форматы. - В поле
Типвведитедд.мм(илиmm/ddдля американского формата).
Теперь даты будут отображаться как 15.05, но при редактировании ячейки вы увидите полную дату. Этот метод идеален для отчётов, где важно сохранить исходные данные для дальнейших расчётов.
2. Метод 2: Текстовые функции (ДЛЯ ТЕКСТОВЫХ ДАННЫХ)
Если ваши даты хранятся как текст (например, результат импорта из CSV), используйте комбинацию функций ЛЕВСИМВ и ПСТР. Этот метод извлекает только день и месяц, игнорируя год.
Пример формулы для формата дд.мм.гггг:
=ЛЕВСИМВ(A1; 6)
Для формата мм/дд/гггг (американский стиль):
=ЛЕВСИМВ(A1; 5)
Если разделитель — дефис (дд-мм-гггг), используйте:
=ЛЕВСИМВ(A1; 5)
- ✅ Работает с любыми текстовыми данными, даже если они не распознаются как даты.
- ⚠️ Не подходит для настоящих дат (чисел) — вернёт ошибочный результат.
- 🔄 Чтобы преобразовать результат обратно в дату, используйте
=ДАТАЗНАЧ(ЛЕВСИМВ(A1;6)).
Почему формула возвращает ошибку #ЗНАЧ?
Если в ячейке A1 хранится настоящая дата (число), а не текст, функция ЛЕВСИМВ вернёт ошибку. Чтобы это исправить, сначала преобразуйте дату в текст с помощью =ТЕКСТ(A1;"дд.мм.гггг"), а затем применяйте ЛЕВСИМВ.
3. Метод 3: Функции ДАТА, МЕСЯЦ и ДЕНЬ (ДЛЯ НАСТОЯЩИХ ДАТ)
Для ячеек, где даты хранятся как числа (стандартный формат Excel), используйте комбинацию функций ДЕНЬ, МЕСЯЦ и ДАТА. Этот метод создаёт новую дату с текущим годом, но сохраняет день и месяц из исходной ячейки.
Формула:
=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(A1); ДЕНЬ(A1))
Как это работает:
ГОД(СЕГОДНЯ())— берёт текущий год с вашего компьютера.МЕСЯЦ(A1)иДЕНЬ(A1)— извлекают месяц и день из исходной даты.ДАТА()— собирает всё в новую дату.
Важно: Результирующая дата будет всегда с текущим годом. Например, если сегодня 2026, а исходная дата была 15.05.2023, результат будет 15.05.2026.
Ячейка содержит настоящую дату (не текст)|Формат ячейки — дд.мм.гггг или аналогичный|Нужно сохранить день и месяц, но обновить год|Готовы к тому, что год заменится на текущий-->
4. Метод 4: Power Query (для больших массивов данных)
Если вам нужно обработать тысячи строк, ручное применение формул неэффективно. В этом случае поможет инструмент Power Query (доступен в Excel 2016 и новее). Он позволяет автоматизировать преобразование и обновлять данные одним кликом.
Пошаговая инструкция:
- Выделите диапазон с датами и перейдите на вкладку
Данные→Из таблицы/диапазона(илиGet Data → From Table/Range). - В открывшемся редакторе Power Query выделите столбец с датами.
- Перейдите на вкладку
Преобразовать→Дата→День(для извлечения дня) иМесяц(для извлечения месяца). - Создайте новый столбец с формулой:
= Date.FromText([День] & "." & [Месяц] & ".2026")(замените
2026на нужный год или используйтеDate.Year(DateTime.LocalNow())для текущего). - Удалите вспомогательные столбцы и нажмите
Закрыть и загрузить.
Преимущества метода:
- 🔄 Обрабатывает миллионы строк без замедления.
- 🔄 Легко обновляется при изменении исходных данных.
- 📊 Позволяет добавить дополнительные преобразования (например, сортировку).
5. Метод 5: VBA-макрос (для автоматизации)
Если вам часто приходится удалять год из дат, напишите простой макрос на VBA. Он обработает выделенный диапазон за секунды.
Код макроса:
Sub RemoveYearFromDates()
Dim cell As Range
For Each cell In Selection
If IsDate(cell.Value) Then
cell.Value = Format(cell.Value, "dd.mm")
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите ячейки с датами и запустите макрос (
Alt + F8→ выберитеRemoveYearFromDates→Выполнить).
Предупреждение: Макрос преобразует даты в текст. Если вам нужно сохранить формат даты, используйте модифицированную версию:
cell.Value = DateSerial(Year(Date), Month(cell.Value), Day(cell.Value))
Сравнение методов: какой выбрать?
Каждый способ имеет свои плюсы и минусы. В таблице ниже — краткое сравнение для разных сценариев:
| Метод | Тип данных | Сохраняет формат даты? | Автоматизация | Сложность |
|---|---|---|---|---|
| Форматирование ячеек | Настоящие даты | ✅ Да | ❌ Нет | ⭐ |
| Текстовые функции | Текстовые даты | ❌ Нет | ⚠️ Частично | ⭐⭐ |
ДАТА/МЕСЯЦ/ДЕНЬ |
Настоящие даты | ✅ Да | ⚠️ Формулы | ⭐⭐ |
| Power Query | Любые | ✅ Да/❌ Нет | ✅ Полная | ⭐⭐⭐ |
| VBA-макрос | Любые | ❌ Нет (по умолчанию) | ✅ Полная | ⭐⭐⭐ |
Единственный метод, который гарантированно работает с датами в любом формате (включая нестандартные разделители типа "15 мая 2026"), — это Power Query. Остальные способы требуют предварительной подготовки данных.
Частые ошибки и как их избежать
При удалении года из дат пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые и способы их решения:
⚠️ Внимание: Если после применения формулы вы видите числа вместо дат (например,45342), значит Excel интерпретирует ваши данные как количество дней с 1900 года. Используйте=ТЕКСТ(A1;"дд.мм")для преобразования в текстовый формат.
Другие ошибки:
- 🔢 #ЗНАЧ! в формулах: Возникает, если ячейка содержит текст, который Excel не может распознать как дату. Решение: используйте
=ДАТАЗНАЧ(A1)для преобразования. - 📅 Неправильный месяц: При использовании
ЛЕВСИМВдля американского формата (мм/дд/гггг) легко перепутать день и месяц. Всегда проверяйте исходный формат! - 🔄 Автообновление года: Метод с
ДАТА(ГОД(СЕГОДНЯ());...)обновит год на текущий при каждом пересчёте. Если нужно зафиксировать год, заменитеСЕГОДНЯ()на конкретное значение (например,2026).
Чтобы избежать ошибок, всегда проверяйте формат исходных данных с помощью функции =ТИП(A1). Если результат — 1 (число), это настоящая дата. Если 2 — текст.
FAQ: Ответы на популярные вопросы
Можно ли удалить год из даты без формул?
Да, с помощью форматирования ячеек (метод 1). Однако это только скрывает год визуально, не изменяя сами данные. Для физического удаления года придётся использовать формулы, Power Query или макросы.
Почему после удаления года Excel показывает дату как 01.01.1900?
Это происходит, если в результате формулы получается некорректная дата (например, 31.02.2026). Проверьте исходные данные на наличие ошибок или используйте текстовые функции вместо дат.
Как убрать год из даты в формате "15 мая 2026"?
Для текстовых дат с названием месяца используйте комбинацию =ЛЕВСИМВ(A1; НАЙТИ(" "; A1) - 1) (извлечёт "15 мая"). Если нужно оставить только число, добавьте =ЛЕВСИМВ(A1; НАЙТИ(" "; A1)).
Можно ли вернуть год обратно после удаления?
Если вы использовали форматирование (метод 1) — да, просто измените формат ячейки обратно на дд.мм.гггг. Если применили формулы или макросы — нет, исходные данные будут утеряны. Всегда сохраняйте резервную копию!
Как удалить год из даты в Google Sheets?
В Google Таблицах используйте аналогичные методы:
- Форматирование:
Формат → Числа → Пользовательский формат → "дд.мм". - Формула:
=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(A1); ДЕНЬ(A1)). - Текст:
=ЛЕВСИМВ(A1; 6).