Почему Excel упорно показывает год и как это исправить
Вы когда-нибудь сталкивались с ситуацией, когда в отчёте или таблице нужно отобразить только месяц и день, но Microsoft Excel настойчиво добавляет год? Например, вместо «5 мая» вы видите «05.05.2026» — и это портит весь формат документа. Причины такого поведения кроются в том, как программа хранит даты: внутренне каждая дата в Excel — это число (количество дней с 1 января 1900 года), а отображение зависит от формата ячейки.
К счастью, есть минимум 5 проверенных способов убрать год из даты — от элементарного изменения формата до использования текстовых функций и даже VBA-скриптов. В этой статье разберём каждый метод с примерами, нюансами и предупреждениями о возможных ошибках. Вы узнаете, какой способ подходит для статических данных, а какой — для динамических расчётов, а также как избежать типичных проблем вроде преобразования даты в текст.
Способ 1: Пользовательский формат ячеек — быстро и без формул
Самый простой метод — настроить пользовательский формат ячейки. Он не меняет само значение (дата остаётся датой), но управляет её отображением. Подходит, если вам нужно визуально скрыть год, но сохранять возможность сортировки и фильтрации по полной дате.
Как это сделать:
- Выделите ячейки с датами.
- Нажмите правой кнопкой →
Формат ячеек(илиCtrl+1). - Вкладка
Число→ категорияВсе форматы. - В поле
Типвведите один из вариантов:- 📅
дд мммм→ «05 мая»** - 📅
дд.мм→ «05.05»** - 📅
мммм дд→ «мая 05»**
- 📅
ОК.Выделите ячейку и посмотрите в строку формул — дата должна остаться полной (например, 05.05.2026), но в самой ячейке год не отображается|
Попробуйте отсортировать данные по столбцу — если сортировка работает, формат применён правильно|
Убедитесь, что в ячейке не появился зелёный треугольник (признак преобразования в текст)
-->
⚠️ Внимание: Если после применения формата в ячейке появился зелёный треугольник с восклицательным знаком — Excel воспринял данные как текст. Это значит, что изначально в ячейках были не даты, а текстовые строки (например, скопированные из другого источника). В таком случае сначала преобразуйте текст в дату с помощью функции =ДАТАЗНАЧ().
| Формат | Пример отображения | Подходит для |
|---|---|---|
дд мммм |
05 мая | Официальные документы, отчёты |
дд.мм |
05.05 | Таблицы с ограниченным пространством |
мммм, дд |
мая, 05 | Дизайнерское оформление |
[$-ru-RU]д мммм;@ |
5 мая | Без ведущих нулей |
Способ 2: Текстовые функции — если нужна гибкость
Когда пользовательский формат не подходит (например, если дату нужно вставить в текстовое предложение или использовать в формуле), на помощь приходят текстовые функции. Они преобразуют дату в строку, но лишают её свойств даты — сортировка и фильтрация по такому столбцу работать не будут.
Основные функции:
- 📊
=ТЕКСТ(A1; "дд мммм")→ вернёт «05 мая»** (где A1 — ячейка с датой). - 📊
=ДЕНЬ(A1)&" "&ТЕКСТ(A1; "мммм")→ альтернативный вариант с конкатенацией. - 📊
=ПСТР(ТЕКСТ(A1; "дд.мм.гггг"); 1; 5)→ обрежет строку до «05.05»** (рискованно, если формат даты нестандартный!).
Пример использования в реальной задаче: если вам нужно сгенерировать текст вида «Срок действия истекает 5 мая»**, используйте:
= "Срок действия истекает " & ДЕНЬ(A1) & " " & ТЕКСТ(A1; "мммм")
⚠️ Внимание: Текстовые функции преобразуют дату в строку, что может привести к проблемам при дальнейших вычислениях. Например, формула =СЕГОДНЯ()-A1 (разница в днях) перестанет работать, если A1 содержит текст. В таких случаях храните оригинальную дату в скрытом столбце.
Способ 3: Формулы для извлечения дня и месяца
Если вам нужно не просто отобразить дату без года, но и разделить её на компоненты (например, для анализа по месяцам), используйте функции извлечения:
- 🔢
=ДЕНЬ(A1)→ вернёт число (например, 5** для 5 мая). - 🔢
=МЕСЯЦ(A1)→ вернёт номер месяца (например, 5** для мая). - 🔢
=ТЕКСТ(A1; "мммм")→ вернёт название месяца («май»**).
Чтобы объединить день и месяц в одну ячейку без года, комбинируйте функции:
= ДЕНЬ(A1) & " " & ТЕКСТ(A1; "мммм") → "5 мая"
Для создания выпадающего списка месяцев (например, для фильтрации) используйте ПРОСМОТР или УНИК (в Excel 365):
= УНИК(ТЕКСТ(диапазон_дат; "мммм"))
Пользовательский формат|
Текстовые функции (ТЕКСТ, ДЕНЬ, МЕСЯЦ)|
Формулы с извлечением компонентов|
VBA или Power Query|
Не знаю, что это
-->
Способ 4: Power Query — для обработки больших данных
Если у вас тысячи строк с датами и нужно массово преобразовать их без года, Power Query (доступен в Excel 2016+) справится за несколько кликов. Этот метод идеален для импорта данных из внешних источников (например, CSV или баз данных).
Алгоритм действий:
- Выделите диапазон с датами → вкладка
Данные→Из таблицы/диапазона(Excel создаст таблицу, если её нет). - В редакторе Power Query выделите столбец с датой → вкладка
Преобразовать→Формат даты→ выберите нужный формат (например, «ММММ дд»**). - Либо добавьте пользовательский столбец с формулой:
= Date.ToText([ВашаДата], "dd MMMM") - Нажмите
Закрыть и загрузить.
Преимущество Power Query — неразрушающее редактирование: оригинальные данные остаются нетронутыми, а преобразования можно обновить одним кликом при изменении источника.
Что делать, если Power Query не сохраняет формат?
Иногда после загрузки данных формат сбрасывается. Чтобы этого избежать:
1. В Power Query преобразуйте столбец в текст (Преобразовать → Тип данных → Текст).
2. Используйте формулу = Date.ToText([ВашаДата], "dd MMMM") в пользовательском столбце.
3. После загрузки примените к столбцу текстовый формат вручную.
Способ 5: VBA-скрипт — автоматизация для продвинутых
Если вам нужно регулярно обрабатывать даты без года (например, в отчётах с фиксированной структурой), напишите простую VBA-процедуру. Этот метод требует минимальных знаний программирования, но экономит время при массовой обработке.
Пример кода для преобразования выделенных ячеек:
Sub FormatDateWithoutYear()
Dim cell As Range
For Each cell In Selection
If IsDate(cell.Value) Then
cell.NumberFormat = "dd mmmm"
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите ячейки с датами → запустите макрос (
F5или черезМакросыв менюВид).
⚠️ Внимание: Макросы могут быть отключены по умолчанию из-за настроек безопасности. Чтобы их запустить, перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы (не рекомендуется для файлов из ненадёжных источников).
Типичные ошибки и как их избежать
Даже в простой задаче вроде удаления года из даты легко допустить ошибку. Вот самые распространённые ловушки и способы их обойти:
- 🚫 Дата превратилась в число: Это значит, что Excel интерпретировал введённое значение как дату в формате
дд.мм.гггг, но вы ввели, например,05.05. Решение: используйте апостроф перед вводом ('05.05) или применяйте текстовый формат заранее. - 🚫 Функция
ТЕКСТвозвращает#ЗНАЧ!: В ячейке не дата, а текст. Используйте=ДАТАЗНАЧ()для преобразования. - 🚫 Сортировка сломалась: Вы применили текстовый формат или функцию, которая преобразовала дату в строку. Решение: храните оригинальную дату в скрытом столбце.
- 🚫 Месяц отображается на английском: В настройках Excel или системы установлен неверный язык. Исправьте в
Файл → Параметры → Язык.
Если вы работаете с динамическими данными (например, даты обновляются автоматически), избегайте текстовых функций — они «замораживают» значение. Вместо этого используйте пользовательский формат или Power Query.
FAQ: Частые вопросы о датах без года в Excel
Можно ли убрать год из даты, но сохранить возможность вычислений (например, разницы в днях)?
Да, но только если вы используете пользовательский формат ячеек (Способ 1). В этом случае дата остаётся датой, и все расчёты (вроде =A2-A1) будут работать. Текстовые функции (Способ 2) преобразуют дату в строку, и вычисления станут невозможны.
Почему после копирования дат из Word в Excel год исчезает сам, а дата превращается в текст?
Excel распознаёт текстовые строки вроде «5 мая»** как текст, а не как дату. Чтобы исправить:
После этого примените нужный формат отображения.
Данные → Текст по столбцам.Формат данных столбца → Дата: ДМЙ.
Как сделать, чтобы в выпадающем списке отображались только месяц и день?
Создайте вспомогательный столбец с формулой =ТЕКСТ(A1; "дд мммм"), затем используйте его как источник для списка (Данные → Проверка данных → Список). Или настройте формат ячеек со списком на дд мммм.
В моём Excel нет функции ТЕКСТ. Что делать?
Функция ТЕКСТ доступна во всех версиях Excel, начиная с 2007. Если её нет:
- Проверьте правильность написания (регистр не важен, но скобки обязательны).
- Обновите Excel до последней версии.
- Используйте альтернативу:
=ДЕНЬ(A1)&" "&МЕСЯЦ(A1)(но это вернёт номер месяца, а не название).
Можно ли убрать год из даты в Google Таблицах?
Да, методы аналогичны:
- Пользовательский формат:
дд мммм(в настройках формата). - Функция:
=ТЕКСТ(A1; "dd mmmm"). - App Script (аналог VBA) для автоматизации.
Отличие: в Google Таблицах формат мммм вернёт название месяца с заглавной буквы («Май» вместо «мая»).