Как в Excel сделать дату без года: все методы от формата до формул

Почему Excel упорно показывает год и как это исправить

Вы когда-нибудь сталкивались с ситуацией, когда в отчёте или таблице нужно отобразить только месяц и день, но Microsoft Excel настойчиво добавляет год? Например, вместо «5 мая» вы видите «05.05.2026» — и это портит весь формат документа. Причины такого поведения кроются в том, как программа хранит даты: внутренне каждая дата в Excel — это число (количество дней с 1 января 1900 года), а отображение зависит от формата ячейки.

К счастью, есть минимум 5 проверенных способов убрать год из даты — от элементарного изменения формата до использования текстовых функций и даже VBA-скриптов. В этой статье разберём каждый метод с примерами, нюансами и предупреждениями о возможных ошибках. Вы узнаете, какой способ подходит для статических данных, а какой — для динамических расчётов, а также как избежать типичных проблем вроде преобразования даты в текст.

Способ 1: Пользовательский формат ячеек — быстро и без формул

Самый простой метод — настроить пользовательский формат ячейки. Он не меняет само значение (дата остаётся датой), но управляет её отображением. Подходит, если вам нужно визуально скрыть год, но сохранять возможность сортировки и фильтрации по полной дате.

Как это сделать:

  1. Выделите ячейки с датами.
  2. Нажмите правой кнопкой → Формат ячеек (или Ctrl+1).
  3. Вкладка Число → категория Все форматы.
  4. В поле Тип введите один из вариантов:
    • 📅 дд мммм«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 или баз данных).

    Алгоритм действий:

    1. Выделите диапазон с датами → вкладка ДанныеИз таблицы/диапазона (Excel создаст таблицу, если её нет).
    2. В редакторе Power Query выделите столбец с датой → вкладка ПреобразоватьФормат даты → выберите нужный формат (например, «ММММ дд»**).
    3. Либо добавьте пользовательский столбец с формулой:
      = Date.ToText([ВашаДата], "dd MMMM")
    4. Нажмите Закрыть и загрузить.

    Преимущество 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

    Как использовать:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте код в новый модуль (Insert → Module).
    3. Выделите ячейки с датами → запустите макрос (F5 или через Макросы в меню Вид).
    ⚠️ Внимание: Макросы могут быть отключены по умолчанию из-за настроек безопасности. Чтобы их запустить, перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы (не рекомендуется для файлов из ненадёжных источников).

    Типичные ошибки и как их избежать

    Даже в простой задаче вроде удаления года из даты легко допустить ошибку. Вот самые распространённые ловушки и способы их обойти:

    • 🚫 Дата превратилась в число: Это значит, что Excel интерпретировал введённое значение как дату в формате дд.мм.гггг, но вы ввели, например, 05.05. Решение: используйте апостроф перед вводом ('05.05) или применяйте текстовый формат заранее.
    • 🚫 Функция ТЕКСТ возвращает #ЗНАЧ!: В ячейке не дата, а текст. Используйте =ДАТАЗНАЧ() для преобразования.
    • 🚫 Сортировка сломалась: Вы применили текстовый формат или функцию, которая преобразовала дату в строку. Решение: храните оригинальную дату в скрытом столбце.
    • 🚫 Месяц отображается на английском: В настройках Excel или системы установлен неверный язык. Исправьте в Файл → Параметры → Язык.

    Если вы работаете с динамическими данными (например, даты обновляются автоматически), избегайте текстовых функций — они «замораживают» значение. Вместо этого используйте пользовательский формат или Power Query.

    FAQ: Частые вопросы о датах без года в Excel

    Можно ли убрать год из даты, но сохранить возможность вычислений (например, разницы в днях)?

    Да, но только если вы используете пользовательский формат ячеек (Способ 1). В этом случае дата остаётся датой, и все расчёты (вроде =A2-A1) будут работать. Текстовые функции (Способ 2) преобразуют дату в строку, и вычисления станут невозможны.

    Почему после копирования дат из Word в Excel год исчезает сам, а дата превращается в текст?

    Excel распознаёт текстовые строки вроде «5 мая»** как текст, а не как дату. Чтобы исправить:

    1. Выделите проблемные ячейки.
    2. Перейдите в Данные → Текст по столбцам.
    3. Выберите Формат данных столбца → Дата: ДМЙ.

    После этого примените нужный формат отображения.

    Как сделать, чтобы в выпадающем списке отображались только месяц и день?

    Создайте вспомогательный столбец с формулой =ТЕКСТ(A1; "дд мммм"), затем используйте его как источник для списка (Данные → Проверка данных → Список). Или настройте формат ячеек со списком на дд мммм.

    В моём Excel нет функции ТЕКСТ. Что делать?

    Функция ТЕКСТ доступна во всех версиях Excel, начиная с 2007. Если её нет:

    • Проверьте правильность написания (регистр не важен, но скобки обязательны).
    • Обновите Excel до последней версии.
    • Используйте альтернативу: =ДЕНЬ(A1)&" "&МЕСЯЦ(A1) (но это вернёт номер месяца, а не название).

    Можно ли убрать год из даты в Google Таблицах?

    Да, методы аналогичны:

    • Пользовательский формат: дд мммм (в настройках формата).
    • Функция: =ТЕКСТ(A1; "dd mmmm").
    • App Script (аналог VBA) для автоматизации.

    Отличие: в Google Таблицах формат мммм вернёт название месяца с заглавной буквы («Май» вместо «мая»).