Microsoft Excel — мощный инструмент для работы с данными, но даже опытные пользователи иногда сталкиваются с проблемами при отображении дат. Почему вместо «15 мая 2026» вы видите «45389»? Или как сделать, чтобы дата автоматически показывалась в формате «ДД.ММ.ГГГГ», а не «ММ/ДД/ГГ»**? В этой статье разберём все нюансы настройки форматов дат — от базовых до продвинутых пользовательских шаблонов.
Проблема с датами в Excel возникает из-за того, что программа хранит их как числовые значения (количество дней с 1 января 1900 года), а отображение зависит от выбранного формата ячейки. Неправильный формат может привести к ошибкам в расчётах, сортировке или фильтрации данных. Например, если вы импортировали данные из CSV или другой системы, даты могут «сломаться» и превратиться в бессмысленные числа. Мы покажем, как этого избежать и вернуть датам читаемый вид.
Почему Excel неправильно отображает даты?
Чаще всего проблемы с датами связаны с региональными настройками или неверным форматом ячейки. Например, если в системе установлен американский формат (ММ/ДД/ГГГГ), то введённое значение 05.12.2026 Excel может интерпретировать как 5 декабря, а не 12 мая. Это критично для финансовых отчётов или графиков, где точность дат имеет значение.
Другая распространённая ошибка — текстовый формат. Если ячейка имеет тип «Текст», то даты не будут распознаваться как даты, и вы не сможете использовать их в формулах типа =ДАТА() или =ДЕНЬНЕД(). Чтобы проверить формат, достаточно посмотреть на выравнивание: даты по умолчанию выравниваются по правому краю, а текст — по левому.
- 🔹 Числовой формат вместо даты: ячейка показывает
45389вместо15.05.2026. - 🔹 Американский формат:
05/12/2026воспринимается как 5 декабря, а не 12 мая. - 🔹 Текстовый формат: даты не распознаются в формулах и сортировке.
- 🔹 Ошибки импорта: при переносе данных из CSV или баз данных даты «ломаются».
⚠️ Внимание: Если вы работаете с датами до 1900 года, Excel может отображать их некорректно из-за особенностей внутренней системы счёта. Для исторических данных используйте текстовый формат или специализированные надстройки.
Способ 1: Стандартные форматы дат в Excel
Excel предлагает несколько встроенных форматов дат, которые можно применить за пару кликов. Чтобы изменить формат:
- Выделите ячейки с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек(или используйте сочетаниеCtrl+1). - В открывшемся окне перейдите на вкладку
Число→Дата. - Выберите нужный формат из списка (например,
14.03.2012или14 марта 2012 г.).
Стандартные форматы зависят от языковых настроек вашей системы. Если вам нужно отобразить дату в другом регионе (например, в американском или европейском стиле), измените параметры языка в Файл → Параметры → Язык.
| Формат | Пример отображения | Описание |
|---|---|---|
ДД.ММ.ГГГГ |
15.05.2026 |
Стандартный европейский формат |
Д ММММ ГГГГ |
15 мая 2026 г. |
Полное название месяца |
ММ/ДД/ГГ |
05/15/24 |
Американский формат (месяц/день/год) |
ДД-МММ-ГГ |
15-Май-24 |
Сокращённый месяц с дефисами |
ГГГГ-ММ-ДД |
2026-05-15 |
Международный стандарт (ISO) |
⚠️ Внимание: Если после изменения формата даты по-прежнему отображаются как числа, проверьте, не установлен ли в ячейках текстовый формат. Используйте функцию =ДАТАЗНАЧ(), чтобы преобразовать текст в дату.
Способ 2: Пользовательский формат даты
Если стандартные форматы не подходят, вы можете создать собственный шаблон. Например, чтобы отобразить дату в виде 15 мая (среда) или 2026/05/15 14:30. Для этого:
- Выделите ячейки и откройте
Формат ячеек(Ctrl+1). - Перейдите на вкладку
Число→Другие форматы→Все форматы. - В поле
Типвведите свой шаблон, используя коды форматирования.
Примеры пользовательских форматов:
- 📅
ДД ММММ ГГГГ г., дddd→15 мая 2026 г., среда - 🕒
ДД.ММ.ГГГГ ЧЧ:ММ→15.05.2026 14:30 - 📊
МММ-ГГ→Май-24(удобно для графиков) - 🌍
[$-419]ДД ММММ ГГГГ г.→ формат на русском языке (код$-419для России).
Критичный нюанс: если вы используете пользовательский формат с текстом (например, «Дата отчёта: ДД.ММ.ГГГГ»), то такие ячейки не будут распознаваться как даты в формулах и фильтрах. Для расчётов лучше хранить «чистые» даты в отдельном столбце.
Убедитесь, что ячейка не в текстовом формате|
Проверьте региональные настройки Excel|
Используйте правильные коды форматирования (ДД, ММ, ГГГГ)|
Тестируйте формат на разных датах (включая 1-е и 31-е числа)
-->
Способ 3: Автоматическое преобразование текста в дату
Если даты импортированы как текст (например, из CSV или базы данных), их нужно преобразовать в числовой формат даты. Для этого:
- Выделите столбец с текстовыми датами.
- Создайте новый столбец и введите формулу:
=ДАТАЗНАЧ(Подставить_сюда_адрес_ячейки)Например:
=ДАТАЗНАЧ(A2). - Растяните формулу на весь столбец.
- Скопируйте результаты и вставьте их поверх исходных данных с помощью
Специальная вставка → Значения.
Функция =ДАТАЗНАЧ() распознаёт большинство текстовых форматов, включая:
- 📄
15.05.2026,15/05/2026,15-05-2026 - 📄
15 мая 2026,May 15, 2026(если язык системы английский) - 📄
2026-05-15(ISO-формат)
⚠️ Внимание: Если=ДАТАЗНАЧ()возвращает ошибку#ЗНАЧ!, проверьте:
— Нет ли лишних пробелов или символов в ячейке.
— Соответствует ли формат текста региону вашей системы (например,05/15/2026не распознается как 15 мая в русской версии Excel).
=ДАТАЗНАЧ(ЛЕВСИМВ(A2;10)) + ВРЕМЗНАЧ(ПРАВСИМВ(A2;5))
Это разделит дату и время на две части и преобразует их правильно.-->
Способ 4: Форматирование дат с помощью функции ТЕКСТ
Функция =ТЕКСТ() позволяет отобразить дату в любом формате без изменения исходного значения. Это полезно, если вам нужно показать дату в отчёте в одном формате, а в расчётах использовать другой. Синтаксис:
=ТЕКСТ(ячейка_с_датой; "формат")
Примеры:
- 📌
=ТЕКСТ(A2; "ДД ММММ")→15 мая - 📌
=ТЕКСТ(A2; "ДДДД, ДД МММ")→Среда, 15 мая - 📌
=ТЕКСТ(A2; "МММ-ГГ")→Май-24(удобно для заголовков) - 📌
=ТЕКСТ(A2; "ЧЧ:ММ:СС")→ отобразит только время.
Преимущество этого метода в том, что исходная дата остаётся неизменной, и вы можете использовать её в других формулах. Однако помните, что результат =ТЕКСТ() — это строка, а не дата, поэтому сортировка и фильтрация по такому столбцу могут работать некорректно.
Как отобразить дату прописью?
Чтобы преобразовать дату в текст вида "пятнадцатое мая две тысячи двадцать четвёртого года", используйте пользовательскую функцию на VBA или надстройку. В стандартном Excel это невозможно без макросов. Пример кода для VBA:
Function DateToWords(ByVal d As Date) As String
' Код функции (требует доработки под русский язык)
End Function
Способ 5: Исправление ошибок с датами при импорте данных
Одна из самых распространённых проблем — «сломанные» даты после импорта из CSV, SQL или других источников. Например, вместо 15.05.2026 вы видите 15-05-2026 в текстовом формате. Чтобы исправить это:
- Проверьте разделитель: в некоторых системах даты экспортируются с дефисами (
-) или слешами (/). Замените их на точки с помощью=ПОДСТАВИТЬ():=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; "-"; "."); "/"; ".") - Используйте «Текст по столбцам»**:
— Выделите столбец с датами.
— Перейдите на вкладкуДанные→Текст по столбцам.
— На шаге 3 выберите форматДМГ(День-Месяц-Год). - Примените
=ДАТАЗНАЧ()к исправленным данным.
Если даты импортируются как числа (например, 45389), это значит, что Excel уже распознал их как даты, но применил неверный формат ячейки. Просто измените формат на Дата (см. Способ 1).
| Проблема | Причина | Решение |
|---|---|---|
Дата отображается как 45389 |
Числовой формат без применения формата даты | Примените формат Дата (Ctrl+1) |
Дата в виде текста 15.05.2026 не распознаётся |
Ячейка в текстовом формате | Используйте =ДАТАЗНАЧ() |
Дата 05/15/2026 воспринимается как 5 декабря |
Американский формат (ММ/ДД/ГГГГ) | Измените регион в настройках или используйте =ДАТА(ГОД(); МЕСЯЦ(); ДЕНЬ()) |
После импорта даты «сломаны» (15-05-2026) |
Неверный разделитель или текстовый формат | Замените разделители на точки и примените =ДАТАЗНАЧ() |
Способ 6: Динамические даты (сегодня, вчера, завтра)
Иногда нужно, чтобы ячейка всегда показывала текущую дату или дату относительно сегодняшнего дня (например, «завтра» или «7 дней назад»). Для этого используйте функции:
- 📅
=СЕГОДНЯ()— возвращает текущую дату (обновляется при пересчёте листа). - 📅
=СЕГОДНЯ()+1— завтрашняя дата. - 📅
=СЕГОДНЯ()-7— дата недельной давности. - 📅
=ТЕКСТ(СЕГОДНЯ(); "ДД ММММ")— текущая дата в формате15 мая.
Эти функции не фиксируют дату — они пересчитываются при каждом открытии файла или изменении данных. Если вам нужно зафиксировать дату (например, дату создания отчёта), используйте сочетание клавиш Ctrl+; (вставляет текущую дату как статическое значение).
⚠️ Внимание: Функция =СЕГОДНЯ() может замедлить работу книги, если используется в тысячах ячеек. Для оптимизации замените её на статические значения после расчётов.
Способ 7: Условное форматирование дат
С помощью условного форматирования можно автоматически выделять даты, которые:
- 🔴 Истекли (например, просроченные задачи).
- 🟢 Приближаются (за 3 дня до дедлайна).
- 🟡 Выпадают на выходные.
Как настроить:
- Выделите диапазон с датами.
- Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать ячейки, которые содержат. - В поле «Форматировать ячейки, в которых» выберите
Значение ячейки → меньше → =СЕГОДНЯ()(для просроченных дат). - Задайте цвет заполнения (например, красный) и нажмите
ОК.
Для более сложных условий (например, выделение выходных) используйте формулу в правиле условного форматирования:
=ИЛИ(ДЕНЬНЕД(A2;2)>5; A2="")
Эта формула выделит все субботы, воскресенья и пустые ячейки.
=ДЕНЬНЕД(A2;2)=1
где 1 — понедельник, 2 — вторник и т. д.-->
Справочник кодов форматирования дат
Для создания пользовательских форматов используйте следующие коды:
| Код | Значение | Пример |
|---|---|---|
Д или ДД |
День без нуля / с нулём | 5 или 05 |
М или ММ |
Месяц без нуля / с нулём | 5 или 05 |
МММ или ММММ |
Сокращённое / полное название месяца | май или мая |
Г или ГГ |
Год без века / с веком | 24 или 2026 |
ЧЧ, ММ, СС |
Часы, минуты, секунды | 14:30:45 |
ДДД или ДДДД |
Сокращённое / полное название дня недели | Ср или Среда |
Коды можно комбинировать. Например:
ДД.MM.ГГГГ ЧЧ:ММ→15.05.2026 14:30ДДДД, Д ММММ→Среда, 15 мая[Часы]:ММ→ отображение времени в формате1345:30(полезно для расчёта длительности).
FAQ: Частые вопросы о форматах дат в Excel
Почему Excel меняет мои даты на американский формат?
Это происходит из-за региональных настроек Excel или Windows. Чтобы исправить:
- В Excel:
Файл → Параметры → Дополнительно → Разделители → Использовать системные разделители(снимите галочку и настройте вручную). - В Windows:
Параметры → Время и язык → Регион → Дополнительные параметры даты и времени.
После изменения настроек перезапустите Excel.
Как в Excel отобразить только месяц и год (например, «Май 2026»)?
Используйте пользовательский формат ММММ ГГГГ или функцию =ТЕКСТ(A2; "ММММ ГГГГ"). Если нужно оставить только месяц (без года), используйте ММММ.
Можно ли в Excel хранить дату и время в одной ячейке, но отображать их по отдельности?
Да. В одной ячейке храните полную дату и время (например, 15.05.2026 14:30), а в других ячейках используйте функции:
=ЦЕЛОЕ(A2)— вернёт только дату.=A2-ЦЕЛОЕ(A2)— вернёт только время (примените форматЧЧ:ММ).
Почему функция =ДАТАЗНАЧ() не работает с моей датой?
Вероятные причины:
- Дата содержит нестандартные разделители (например, пробелы или запятые).
- Формат даты не соответствует региону (например,
MM/DD/YYYYв русской версии Excel). - Ячейка содержит лишние символы (например,
15.05.2026 г.).
Исправьте формат с помощью =ПОДСТАВИТЬ() или «Текст по столбцам».
Как в Excel посчитать разницу между датами в годах?
Используйте функцию =РАЗНДАТ() (в английской версии =DATEDIF):
=РАЗНДАТ(начальная_дата; конечная_дата; "Y")
Где "Y" — разница в полных годах. Другие параметры:
"M"— разница в месяцах."D"— разница в днях.