По умолчанию Microsoft Excel отображает даты в сокращённом формате — например, 12.05.2026 вместо 12 мая 2026 года, четверг. Это экономит место в таблице, но часто пользователям требуется полное отображение даты с названием месяца, дня недели или даже временем. Проблема усложняется тем, что Excel хранит даты как числовые значения (количество дней с 1900 года), а их визуальное представление зависит от настроек формата.
В этой статье разберём все способы вывести полную дату — от ручного форматирования до автоматизации через функции и VBA. Особое внимание уделим типичным ошибкам, например, когда после изменения формата дата превращается в ###### или сбивается при экспорте в другие программы. Также покажем, как сделать так, чтобы полная дата обновлялась автоматически при изменении исходных данных.
Если вам нужно не просто отобразить дату, а использовать её в расчётах (например, вычислить разницу в днях между двумя полными датами), в конце статьи есть раздел с примерами формул. А для тех, кто работает с большими массивами данных, мы подготовили таблицу совместимости форматов дат в разных версиях Excel.
1. Способ 1: Ручное форматирование ячеек
Самый простой метод — изменить формат ячейки через меню Excel. Он подходит, если нужно быстро преобразовать уже введённые даты или задать шаблон для новых.
Пошаговая инструкция:
- Выделите ячейку или диапазон с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте горячие клавишиCtrl+1). - В открывшемся окне перейдите на вкладку
Число→Дата. - В списке
Типвыберите подходящий формат, например:- 📅
14 марта 2026 г.— дата с названием месяца; - 🕒
14.03.2026 13:45— дата + время; - 📆
четверг, 14 марта 2026 г.— с днём недели.
- 📅
ОК.⚠️ Внимание: Если после применения формата вместо даты появились символы ######, значит, столбец слишком узкий. Растяните его вручную или используйте автоподбор ширины (Двойной клик по правому краю заголовка столбца).
2. Способ 2: Пользовательский формат даты
Стандартные форматы в Excel не всегда покрывают все потребности. Например, может понадобиться вывести дату в виде 14 марта 2026 года (четверг) или использовать сокращения на другом языке. В таких случаях поможет пользовательский формат.
Как создать свой формат:
- Выделите ячейку и откройте
Формат ячеек(Ctrl+1). - Перейдите на вкладку
Число→(все форматы). - В поле
Типвведите комбинацию символов. Примеры:Формат Пример вывода Описание dd mmmm yyyy "года"14 марта 2026 года Полное название месяца + слово "года" dddd, dd mmmm yyyyчетверг, 14 марта 2026 День недели + полная дата d.m.yyyy "в" h:mm14.3.2026 в 15:30 Дата + время с предлогом - Нажмите
ОК. - 📅
d— день без ведущего нуля (1),dd— с нулём (01); - 📅
mmm— сокращённое название месяца (мар),mmmm— полное (март); - 📅
yy— короткий год (24),yyyy— полный (2026); - 🕒
h— часы (1-12),hh— с ведущим нулём (01-12). - 📅
=ТЕКСТ(A1; "dd mmmm yyyy")→14 марта 2026; - 🕒
=ТЕКСТ(A1; "dddd, dd mmmm yyyy г. h:mm")→четверг, 14 марта 2026 г. 15:30; - 📆
=ТЕКСТ(СЕГОДНЯ(); "Сегодня d mmmm")→Сегодня 14 марта. A1— год (2026);B1— месяц (3);C1— день (14).- 📅
=СЕГОДНЯ()— возвращает сегодняшнюю дату без времени; - 🕒
=ТДАТА()— возвращает текущие дату и время.
Символы в формате имеют особое значение:
⚠️ Внимание: Пользовательский формат не меняет фактическое значение ячейки — только её отображение. Если скопировать такую ячейку в другую программу (например, Word), форматирование может сбиться.
Символы введены без ошибок|Ячейка достаточно широкая|Формат применён ко всем нужным ячейкам|Проверено отображение на печатной версии-->
3. Способ 3: Функция ТЕКСТ для гибкого отображения
Если нужно вывести полную дату в отдельной ячейке (например, для отчётов или шаблонов), используйте функцию =ТЕКСТ(). Она преобразует числовое значение даты в текстовый формат по заданному шаблону.
Синтаксис:
=ТЕКСТ(значение; "формат")
Примеры:
Преимущество этого метода — динамическое обновление. Если исходная дата в ячейке A1 изменится, формула автоматически пересчитает результат. Кроме того, функцию ТЕКСТ можно встраивать в другие формулы, например:
=ЕСЛИ(A1>СЕГОДНЯ(); "Срок: " & ТЕКСТ(A1; "dd mmmm"); "Просрочено")
В английской версии Excel названия месяцев и дней недели по умолчанию выводятся на английском. Чтобы получить русские названия, используйте функцию где Как вывести дату на русском в английской версии Excel?
=ТЕКСТ() с ручным указанием локали:=ТЕКСТ(A1; "[$-419]dddd, dd mmmm yyyy")[-$419] — идентификатор русского языка. Полный список идентификаторов можно найти в документации Microsoft.
4. Способ 4: Функция ДАТА для создания полной даты из компонентов
Если дата хранится в виде отдельных компонентов (день, месяц, год в разных ячейках), используйте функцию =ДАТА(), а затем примените к результату нужный формат.
Синтаксис:
=ДАТА(год; месяц; день)
Пример:
Допустим, в ячейках:
Тогда формула будет:
=ДАТА(A1; B1; C1)
А чтобы вывести её в полном формате, комбинируйте с функцией ТЕКСТ:
=ТЕКСТ(ДАТА(A1; B1; C1); "dd mmmm yyyy года")
⚠️ Внимание: Функция ДАТА не проверяет корректность введённых значений. Если указать ДАТА(2026; 13; 1) (13-й месяц), Excel автоматически скорректирует дату на 01.01.2026. Чтобы избежать ошибок, добавьте проверку:
=ЕСЛИОШИБКА(ДАТА(A1; B1; C1); "Некорректная дата")
5. Способ 5: Автоматическое обновление даты (СЕГОДНЯ и ТДАТА)
Для отображения текущей даты, которая обновляется при каждом открытии файла, используйте функции:
Пример с полным форматом:
=ТЕКСТ(СЕГОДНЯ(); "dd mmmm yyyy года, dddd")
Результат: 14 марта 2026 года, четверг (обновится завтра).
⚠️ Внимание: Эти функции волатильны — они пересчитываются при любом изменении в книге, что может замедлять работу с большими файлами. Если нужна фиксированная дата (например, дата создания отчёта), введите её вручную (Ctrl+;).
6. Способ 6: Макросы VBA для сложных форматов
Если вам нужно применить полный формат даты ко всем ячейкам листа или автоматизировать процесс для регулярных отчётов, поможет VBA. Например, следующий код преобразует все даты в выделенном диапазоне в формат dd mmmm yyyy года:
Sub FormatFullDate()
Dim rng As Range
For Each rng In Selection
If IsDate(rng.Value) Then
rng.NumberFormat = "dd mmmm yyyy ""года"""
End If
Next rng
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в модуль (меню
Insert → Module). - Вернитесь в Excel, выделите диапазон с датами.
- Запустите макрос (
Alt+F8→ выберитеFormatFullDate→Выполнить).
Для автоматизации можно назначить макрос на кнопку или запускать его при открытии файла. Например, чтобы при открытии книги все даты в столбце A автоматически преобразовывались в полный формат, используйте событие Workbook_Open:
Private Sub Workbook_Open()
Sheets("Лист1").Range("A:A").NumberFormat = "dd mmmm yyyy"
End Sub
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). При отправке такого файла коллегам они могут увидеть предупреждение о безопасности.
7. Типичные ошибки и их решения
При работе с полными датами в Excel пользователи часто сталкиваются с следующими проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
| ###### | Столбец слишком узкий или отрицательная дата | Растяните столбец или проверьте корректность данных |
| Дата отображается как число (45341) | Ячейка имеет общий формат | Примените формат Дата или используйте =ТЕКСТ() |
| Некорректный месяц (например, 13) | Ошибка в функции ДАТА() |
Добавьте проверку =ЕСЛИОШИБКА() |
| Дата не обновляется | Формулы отключены или дата введена как текст | Включите автоматический пересчёт (Формулы → Параметры вычислений) |
Excel может ошибочно интерпретировать текстовую дату (например, Почему Excel неправильно распознаёт даты из текста?
"14.03.2026") как 14 марта 2026 или 3 апреля 2026, в зависимости от региональных настроек. Чтобы избежать этого:
=ДАТАЗНАЧ() для явного преобразования:=ДАТАЗНАЧ("14.03.2026")=ДАТА().
8. Продвинутые приёмы: динамические даты в отчётах
Для создания динамических отчётов с полными датами полезно комбинировать несколько функций. Например, чтобы вывести дату в формате "Отчёт за март 2026 (по состоянию на 14 марта 2026 г.)", используйте:
="Отчёт за " & ТЕКСТ(СЕГОДНЯ(); "mmmm yyyy") & " (по состоянию на " & ТЕКСТ(СЕГОДНЯ(); "dd mmmm yyyy г.") & ")"
Другой пример — автоматическое определение дня недели для планирования:
=ВЫБОР(ДЕНЬНЕД(СЕГОДНЯ());
"Воскресенье — выходной";
"Понедельник — рабочий день";
"Вторник — рабочий день";
"Среда — рабочий день";
"Четверг — рабочий день";
"Пятница — рабочий день";
"Суббота — выходной")
Важно: При экспорте таблиц с полными датами в PDF или Word форматирование сохраняется, но в CSV даты преобразуются в текст без автообновления. Чтобы избежать потери данных, перед экспортом преобразуйте даты в текст с помощью =ТЕКСТ().
FAQ: Частые вопросы о полных датах в Excel
Как вывести дату прописью (например, "четырнадцатое марта две тысячи двадцать четвёртого года")?
Excel не имеет встроенной функции для такого преобразования, но можно использовать VBA или надстройку NumWord. Альтернатива — разбить дату на компоненты и соединить их через =ТЕКСТ() с ручным указанием прописных чисел:
="четырнадцатое " & ТЕКСТ(A1; "mmmm") & " две тысячи " & ТЕКСТ(A1; "yy") & " года"
⚠️ Это решение не универсально — придётся вручную прописывать варианты для каждого числа.
Почему при копировании даты из Excel в Word формат сбивается?
При копировании Excel передаёт в Word либо значение ячейки (число), либо текстовое представление. Чтобы сохранить формат:
- Скопируйте ячейку в Excel.
- В Word выберите
Специальная вставка → Текст Unicode. - Или предварительно преобразуйте дату в текст через
=ТЕКСТ().
Можно ли сделать так, чтобы дата автоматически подставлялась при добавлении новой строки?
Да, для этого используйте таблицы Excel (Ctrl+T) и столбец с формулой =СЕГОДНЯ(). При добавлении новой строки дата будет копироваться автоматически. Альтернатива — макрос на событие Worksheet_Change:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
Target.Offset(0, 1).Value = Date
End If
End Sub
Этот код проставляет текущую дату в столбце B при изменении ячейки в столбце A.
Как вывести разницу между двумя полными датами в годах, месяцах и днях?
Используйте комбинацию функций ДАТАРАЗН (в новых версиях Excel) или РАЗНДАТ (устаревшая, но работающая):
=ДАТАРАЗН(A1; B1; "y") & " лет, " & ДАТАРАЗН(A1; B1; "ym") & " мес., " & ДАТАРАЗН(A1; B1; "md") & " дн."
Где A1 — начальная дата, B1 — конечная.
Как в Excel 365 вывести дату с эмодзи (например, 🗓️ 14 марта)?
Вставьте эмодзи вручную в строку формулы или используйте функцию =СЦЕПИТЬ():
=СЦЕПИТЬ("🗓️ "; ТЕКСТ(A1; "dd mmmm"))
⚠️ В некоторых шрифтах эмодзи могут отображаться как пустые квадраты. Используйте шрифты Segoe UI Emoji или Arial Unicode MS.