Как изменить формат ячейки на дату в Excel: 5 способов с примерами

Работа с датами в Microsoft Excel — одна из самых частых задач, с которыми сталкиваются пользователи. Неправильный формат ячейки может превратить дату в бессмысленный набор цифр (например, 44197 вместо 01.01.2021), что усложняет анализ данных и ведёт к ошибкам в расчётах. Эта статья поможет разобраться, как быстро и корректно изменить формат ячейки на дату, избегая типичных ошибок.

В отличие от текста или чисел, даты в Excel хранятся как последовательные номера, где 1 соответствует 01.01.1900 (в Windows) или 01.01.1904 (в Mac). Поэтому просто ввести дату в ячейку недостаточно — нужно ещё и правильно её отформатировать. Мы рассмотрим не только стандартные способы, но и неочевидные приёмы для работы с нестандартными форматами, а также автоматизацию через условное форматирование и Power Query.

Если вы часто работаете с отчётами, где даты приходят в разных форматах (например, DD/MM/YYYY vs MM-DD-YYYY), или нуждаетесь в преобразовании текста в дату, эта инструкция станет вашим гидом. А для тех, кто хочет углубиться, мы добавили раздел про пользовательские форматы дат и обработку ошибок типа #ЗНАЧ!.

Почему Excel неправильно отображает даты?

Перед тем как менять формат, важно понять, почему Excel вообще искажает даты. Основных причин три:

  • 📅 Региональные настройки: Excel ориентируется на системные параметры даты и времени вашего компьютера. Если в Windows установлен формат MM/DD/YYYY, а вы вводите 01.05.2023, программа может интерпретировать это как 1 мая или 5 января — в зависимости от настроек.
  • 🔢 Хранение как числа: Даты в Excel — это числа с плавающей запятой (целая часть — дни, дробная — время). Если ячейка отформатирована как Общий, вы увидите именно это число (например, 45000 вместо даты).
  • 📝 Текстовый формат: При импорте данных из CSV или копировании с веб-страниц даты часто сохраняются как текст. В этом случае Excel не распознаёт их как даты, и стандартное форматирование не работает.

Чтобы проверить текущий формат ячейки, выделите её и посмотрите на панель инструментов в группе Число. Если там указано Текстовый или Общий, дата отобразится некорректно. Также обратите внимание на выравнивание: даты по умолчанию выравниваются по правому краю, а текст — по левому.

📊 Как часто вы сталкиваетесь с проблемами форматирования дат в Excel?
Постоянно
Иногда
Рядом
Никогда

Способ 1: Изменение формата через ленту инструментов

Самый простой метод — использовать встроенные форматы дат на панели управления. Подходит для большинства стандартных случаев.

  1. Выделите ячейку или диапазон с датами.
  2. На вкладке Главная найдите группу Число.
  3. Щёлкните по выпадающему списку форматов (обычно там указано Общий или Текстовый).
  4. В разделе Дата выберите подходящий вариант (например, 14.03.2012 или 14 марта 2012 г.).

Если нужного формата нет в списке, выберите Дополнительные форматы чисел (значок в правом нижнем углу группы Число). Откроется окно Формат ячеек, где можно настроить отображение более гибко.

Выделите все ячейки с датами|

Убедитесь, что в ячейках нет лишних символов (например, пробелов)|

Проверьте региональные настройки Excel (Файл → Параметры → Язык)|

Сохраните резервную копию файла на случай ошибок-->

Способ 2: Использование горячих клавиш

Для ускорения работы можно использовать сочетания клавиш:

  • 🔠 Ctrl + 1 — открывает окно Формат ячеек (работает в любой версии Excel).
  • 🔠 Ctrl + Shift + # — применяет формат даты день-месяц-год (например, 01-Янв-2023).
  • 🔠 Ctrl + Shift + @ — формат времени (например, 13:45).

Горячие клавиши особенно полезны, если вам нужно быстро привести в порядок большой диапазон данных. Например, после импорта из или Google Sheets, где даты часто "сбиваются".

⚠️ Внимание: Сочетание Ctrl + Shift + # работает только для ячеек, которые Excel уже распознаёт как даты. Если данные хранятся как текст, сначала преобразуйте их с помощью функции =ДАТАЗНАЧ().

Способ 3: Пользовательские форматы дат

Стандартные форматы не всегда подходят для специфических задач. Например, вам может понадобиться отобразить дату как 1-й квартал 2023 или Понедельник, 15 мая. В этом случае поможет пользовательский формат.

Как его создать:

  1. Выделите ячейки и нажмите Ctrl + 1.
  2. Перейдите на вкладку ЧислоВсе форматы.
  3. В поле Тип введите свой шаблон. Например:
    • dddd, d mmmm yyyyПонедельник, 15 мая 2023
    • "Квартал" q, yyyyКвартал 2, 2023
    • d-mmm15-май

Символы в формате имеют следующее значение:

СимволЗначениеПример
dДень без ведущего нуля5 вместо 05
ddДень с ведущим нулем05
mmmСокращённое название месяцамай
mmmmПолное название месяцаМай
yyГод (две цифры)23

Важно: Пользовательские форматы не меняют фактическое значение ячейки, а только её отображение. Это значит, что в формулах по-прежнему будет использоваться числовое представление даты.

Способ 4: Преобразование текста в дату

Частая проблема — даты, импортированные как текст (например, из CSV или JSON). В этом случае стандартное форматирование не сработает, и нужно сначала преобразовать данные.

Варианты решений:

  • 🔄 Функция ДАТАЗНАЧ(): Преобразует текст в дату. Например, =ДАТАЗНАЧ("15.05.2023"). Поддерживает форматы, соответствующие региональным настройкам.
  • 🔄 Текст по столбцам: На вкладке Данные выберите Текст по столбцам → укажите формат исходных данных (ДМГ или МДГ) и целевой формат.
  • 🔄 Power Query: Для больших объёмов данных используйте Получить данные → Из таблицы/диапазона, затем в редакторе измените тип столбца на Дата.

Если после преобразования даты отображаются как ########, расширьте столбец — это означает, что ширина ячейки недостаточна для отображения.

Что делать, если ДАТАЗНАЧ возвращает ошибку?

Функция ДАТАЗНАЧ зависит от региональных настроек Excel. Если ваш текст в формате MM/DD/YYYY, а в системе установлен DD/MM/YYYY, Excel может неправильно интерпретировать месяц и день. Решения:

1. Используйте =ДАТА(год;месяц;день) с явным указанием компонентов.

2. Замените разделители в тексте (например, / на -) с помощью =ПОДСТАВИТЬ().

3. Измените региональные настройки в Параметры Excel → Язык (требует перезапуска программы).

Способ 5: Автоматическое форматирование с помощью условного форматирования

Если вам нужно выделять даты, соответствующие определённым условиям (например, просроченные задачи или выходные дни), используйте условное форматирование.

Пример: выделение выходных дней красным цветом:

  1. Выделите диапазон с датами.
  2. На вкладке Главная выберите Условное форматирование → Создать правило.
  3. Выберите Использовать формулу для определения форматируемых ячеек.
  4. Введите формулу: =ИЛИ(ДЕНЬНЕД(A1)=7;ДЕНЬНЕД(A1)=1) (где A1 — первая ячейка диапазона).
  5. Задайте формат (например, красный фон) и нажмите ОК.

Аналогично можно настроить правила для:

  • 📅 Даты старше 30 дней: =A1
  • 📅 Даты в текущем месяце: =И(МЕСЯЦ(A1)=МЕСЯЦ(ТЕКУЩДАТА());ГОД(A1)=ГОД(ТЕКУЩДАТА()))
  • 📅 Праздничные дни (если у вас есть список праздников в отдельном диапазоне): =СЧЁТЕСЛИ($D$1:$D$10;A1)>0

Распространённые ошибки и их решения

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

ОшибкаПричинаРешение
Дата отображается как ######## Слишком узкий столбец или отрицательная дата Расширьте столбец или проверьте корректность данных (даты до 1900 года не поддерживаются)
Функция ДАТАЗНАЧ возвращает #ЗНАЧ! Некорректный формат текста или региональные настройки Используйте =ДАТА(ГОД;МЕСЯЦ;ДЕНЬ) или измените разделители в тексте
После импорта даты сбились (день и месяц поменялись местами) Конфликт форматов ДМГ/МДГ Используйте Текст по столбцам с явным указанием формата исходных данных
Дата не обновляется при изменении исходных данных Ячейка отформатирована как текст или используется '=формула (с апострофом) Удалите апостроф или преобразуйте текст в дату через ДАТАЗНАЧ
⚠️ Внимание: Если вы работаете с датами до 1900 года (например, в исторических данных), Excel их не поддерживает. В этом случае храните даты как текст или используйте альтернативные системы отсчёта (например, количество дней с фиксированной даты).

FAQ: Ответы на частые вопросы

Как изменить формат даты по умолчанию для всей книги?

Excel не позволяет глобально изменить формат даты для всех новых ячеек, но вы можете:

  1. Создать шаблон (.xltx) с нужными настройками формата.
  2. Использовать стили ячеек: на вкладке Главная выберите Стили ячеек → Создать стиль ячейки и задайте формат даты. Затем применяйте этот стиль к новым ячейкам.
  3. Настроить автозамену для часто используемых форматов (например, заменять ddmmyyyy на дату).
Почему после копирования даты из Excel в Word она отображается как число?

Это происходит из-за разницы в хранении данных: Excel копирует значение (число), а Word отображает его в своём формате. Решения:

  • 📋 Скопируйте дату как текст: выделите ячейку, нажмите F2 (режим редактирования), затем Enter и скопируйте.
  • 📋 Используйте Специальная вставка → Текст в Word.
  • 📋 Преобразуйте дату в текст в Excel с помощью =ТЕКСТ(A1;"dd.mm.yyyy").
Можно ли в Excel отобразить дату прописью (например, "пятнадцатое мая две тысячи двадцать третьего года")?

Стандартных функций для этого нет, но можно использовать комбинацию функций или VBA:

  1. Через формулы (для русского языка):
    =ПСТР("первое;второе;третье;четвёртое;пятое;шестое;седьмое;восьмое;девятое;десятое;одиннадцатое;двенадцатое;тринадцатое;четырнадцатое;пятнадцатое;шестнадцатое;семнадцатое;восемнадцатое;девятнадцатое;двадцатое;двадцать первое;двадцать второе;двадцать третье;двадцать четвёртое;двадцать пятое;двадцать шестое;двадцать седьмое;двадцать восьмое;двадцать девятое;тридцатое;тридцать первое";ДЕНЬ(A1);НАЙТИ(";";"первое;второе;...";ДЕНЬ(A1))-1) & " " &
    

    ПСТР("января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря";МЕСЯЦ(A1);НАЙТИ(";";"января;февраля;...";МЕСЯЦ(A1))-1) & " " &

    ПСТР("две тысячи;две тысячи один;...;две тысячи двадцать три";ГОД(A1)-2000+1;НАЙТИ(";";"две тысячи;...";ГОД(A1)-2000+1)-1) & " года"

    Примечание: Эта формула работает только для дат с 2001 по 2023 год. Для других диапазонов нужно расширить список.
  2. Через VBA: Написать пользовательскую функцию DateToWords, которая будет возвращать дату прописью.
Как в Excel посчитать разницу между датами в годах, месяцах и днях?

Для точного расчёта разницы используйте комбинацию функций:

  • 📊 Разница в днях: =A2-A1 (где A1 и A2 — даты).
  • 📊 Разница в месяцах: =РАЗНДАТ(A1;A2;"m").
  • 📊 Разница в годах: =РАЗНДАТ(A1;A2;"y").
  • 📊 Полная разница (годы, месяцы, дни):
    =РАЗНДАТ(A1;A2;"y") & " лет, " & РАЗНДАТ(A1;A2;"ym") & " мес., " & РАЗНДАТ(A1;A2;"md") & " дн."

Функция РАЗНДАТ (DATEDIF) скрыта в Excel, но работает. Чтобы её использовать, вводите вручную — она не отображается в подсказках.

Как автоматически обновлять дату при каждом открытии файла?

Для динамической даты (например, "Сегодня: [текущая дата]") используйте:

  • 🔄 Функция ТДАТА(): Возвращает текущую дату и время. Обновляется при любом изменении книги.
  • 🔄 Функция СЕГОДНЯ(): Возвращает только текущую дату (без времени).
  • 🔄 VBA-макрос: Чтобы дата обновлялась именно при открытии файла, добавьте этот код в модуль ThisWorkbook:
    Private Sub Workbook_Open()
    

    Sheets("Лист1").Range("A1").Value = Date

    End Sub

    Примечание: Макросы работают только если файл сохранён как .xlsm (с поддержкой макросов).