Почему Excel автоматически меняет формат даты и как это исправить
Вы ввели в ячейку 15.05.2026, а Excel упорно преобразует её в 15-мая или 05/15/2026? Это не баг, а особенность программы: по умолчанию она распознаёт ввод как дату и применяет региональные настройки формата. В России и странах СНГ принят стандарт ДД.ММ.ГГГГ, но Excel часто использует американскую нотацию ММ/ДД/ГГГГ или текстовый формат.
Проблема усложняется, если вы работаете с данными из разных источников: например, экспортируете отчёты из 1С, где даты уже в нужном формате, но при вставке в Excel они «ломаются». Или наоборот — нужно подготовить файл для бухгалтерии, а даты отображаются некорректно. В этой статье разберём 5 рабочих способов привести даты к виду ДД.ММ.ГГГГ (через точки), включая решения для массового изменения и автоматизации.
Способ 1: Ручное форматирование через меню «Формат ячеек»
Самый надёжный метод — явно указать Excel, как отображать дату. Это работает для уже введённых данных и новых ячеек.
Инструкция:
- Выделите ячейки или диапазон с датами (например,
A1:A100). - Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте горячие клавишиCtrl+1). - В открывшемся окне перейдите на вкладку
Число→ категорияДата. - В списке
Типнайдите формат 14.03.2012 (или аналогичный с точками). Если его нет — читайте Способ 3 про пользовательский формат. - Нажмите
ОК.
⚠️ Внимание: Если после применения формата даты отображаются как ########, значит ширина столбца недостаточна. Растяните его или используйте формат ДД.ММ.ГГ (без века).
Ячейки содержат именно даты, а не текст|Ширина столбца достаточна для отображения|Региональные настройки Excel не конфликтуют с выбранным форматом|Нет скрытых символов (пробелов, апострофов) перед датами-->
Способ 2: Горячие клавиши для быстрого форматирования
Если вам нужно часто переключаться между форматами дат, запомните комбинации:
- 🔹
Ctrl+Shift+#— применит формат ДД.ММ.ГГ (без века). - 🔹
Ctrl+Shift+@— формат Время (если нужно отобразить только часы:минуты).
Эти сочетания работают только для ячеек, которые Excel уже распознал как даты. Если после нажатия ничего не происходит:
- Убедитесь, что ячейка активна (на неё наведен курсор).
- Проверьте, что данные не в текстовом формате (в левом верхнем углу ячейки не должно быть зелёного треугольника).
⚠️ Внимание: В Excel для Mac эти комбинации могут не работать. Используйте Command+1 для вызова формата ячеек.
ДД.ММ.ГГГГ|ММ/ДД/ГГГГ|ДД-ММ-ГГГГ|Текстовый (например, 15 мая 2026)|Другой-->
Способ 3: Создание пользовательского формата с точками
Если в списке стандартных форматов нет подходящего (например, вам нужно ДД.МММ.ГГГГ, где месяц сокращённо — янв, фев), создайте свой:
- Выделите ячейки и откройте
Формат ячеек(Ctrl+1). - Перейдите на вкладку
Число→ категория(все форматы). - В поле
Типвведите один из шаблонов:- 📅
ДД.ММ.ГГГГ— полный формат (например,15.05.2026). - 📅
ДД.МММ.ГГГГ— с сокращённым месяцем (например,15.мая.2026). - 📅
ДД.ММ.ГГ— без века (например,15.05.24).
- 📅
ОК.Важно: Excel различает прописные и строчные буквы в формате. Например, ММ — месяц числом (05), а МММ — сокращённое название (май).
| Код формата | Пример отображения | Описание |
|---|---|---|
ДД.ММ.ГГГГ |
15.05.2026 |
Полная дата с точками |
ДД.МММ.ГГ |
15.мая.24 |
Сокращённый месяц и год |
ДД ММММ ГГГГ г. |
15 мая 2026 г. |
Развёрнутый формат с годом |
ДД.ММ;@ |
15.05 или текст |
Отображает дату без года, если ячейка содержит дату, иначе — текст |
Способ 4: Использование функции ТЕКСТ для преобразования
Если даты хранятся в некорректном формате (например, как текст 2026-05-15), или вам нужно динамически менять отображение, используйте функцию ТЕКСТ:
=ТЕКСТ(A1; "ДД.ММ.ГГГГ")
Где:
- 📌
A1— адрес ячейки с исходной датой. - 📌
"ДД.ММ.ГГГГ"— шаблон формата (можно заменить на любой из Способа 3).
Примеры использования:
- 🔢 Преобразовать текст
"15/05/2026"в дату:=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;"/";"."))→ затем примените форматДД.ММ.ГГГГ. - 🔢 Объединить дату с текстом:
="Отчёт от "&ТЕКСТ(A1;"ДД.ММ.ГГГГ")→ результат:Отчёт от 15.05.2026.
⚠️ Внимание: Функция ТЕКСТ возвращает текстовое значение, а не дату. Это значит, что такие ячейки нельзя использовать в вычислениях (например, для нахождения разницы между датами). Для расчётов сначала преобразуйте текст в дату с помощью ДАТАЗНАЧ.
Как узнать, хранится ли в ячейке дата или текст?
Выделите ячейку и посмотрите на строку формул:
- Если отображается 15.05.2026 — это дата (можно форматировать).
- Если '15.05.2026 (с апострофом) или 15/05/2026 — это текст. Для преобразования используйте ДАТАЗНАЧ или ЗНАЧЕН
Способ 5: Массовое изменение форматов через Power Query
Если у вас большой файл (тысячи строк) с датами в разных форматах, ручное форматирование займёт часы. Используйте Power Query — инструмент для очистки и преобразования данных:
- Выделите диапазон с датами и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выделите столбец с датами.
- На вкладке
ПреобразоватьвыберитеФормат → Дата. - Затем нажмите
Формат → Локаль...и выберитеРусский (Россия). - Нажмите
Закрыть и загрузить— данные вернутся в Excel в форматеДД.ММ.ГГГГ.
Power Query сохраняет шаги преобразования, поэтому при обновлении источника данных формат останется корректным. Это особенно удобно для регулярных отчётов.
🔹 Преимущества метода:
- ✅ Обрабатывает миллионы строк без зависаний.
- ✅ Автоматически исправляет ошибки (например,
31.02.2026→null). - ✅ Сохраняет историю изменений.
Решение проблем: почему даты не меняют формат
Иногда даже после применения формата даты остаются в исходном виде. Распространённые причины и решения:
| Проблема | Причина | Решение |
|---|---|---|
| Формат не применяется | Ячейка содержит текст, а не дату | Используйте =ДАТАЗНАЧ(A1) для преобразования |
Дата отображается как ######## |
Столбец слишком узкий | Растяните столбец или уменьшите количество знаков в формате |
После ввода 15.05.2026 Excel показывает 05/15/2026 |
Региональные настройки Windows/Mac установлены на английский (США) | Измените формат системы или используйте пользовательский формат (Способ 3) |
Функция ТЕКСТ возвращает ошибку |
Исходная ячейка содержит некорректную дату (например, 31.02.2026) |
Проверьте данные на валидность или используйте ЕСЛИОШИБКА |
🔹 Совет для импорта данных: Если вы копируете даты из внешних источников (например, с сайтов), сначала вставляйте их как текст (Специальная вставка → Текст), а затем преобразуйте в даты с помощью ДАТАЗНАЧ.
FAQ: Частые вопросы по формату дат в Excel
Можно ли сделать так, чтобы Excel по умолчанию использовал формат с точками?
Да, но это требует изменения региональных настроек Windows/Mac:
- В Windows:
Пуск → Параметры → Время и язык → Регион → Дополнительные параметры даты и времени→ установите форматДД.ММ.ГГГГ. - В Excel:
Файл → Параметры → Дополнительно → Раздел "Параметры редактирования"→ снимите галочку сАвтоматически вставлять десятичную запятую(она может мешать вводу дат).
⚠️ После изменения региональных настроек перезапустите Excel.
Как в Excel Online (веб-версия) поменять формат даты на точки?
В браузерной версии Excel алгоритм аналогичный:
- Выделите ячейки →
Главная → Формат → Формат ячеек. - Выберите категорию
Датаи найдите формат с точками.
Если нужного формата нет, используйте функцию =ТЕКСТ() (Способ 4). В Excel Online нет возможности создавать пользовательские форматы.
Почему при экспорте в PDF даты снова становятся в американском формате?
Это происходит, если в настройках принтера установлен английский язык. Перед печатью:
- Откройте
Файл → Печать. - Нажмите
Параметры страницы → Страница → Печататьи выберитеЧёрно-белая(иногда это сбрасывает региональные настройки). - Или экспортируйте в PDF через
Файл → Экспорт → Создать PDF/XPS— там настройки формата сохраняются.
Можно ли автоматически заменять все дефисы и слэши на точки в датах?
Да, с помощью функции ПОДСТАВИТЬ:
=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"-";".");"/";"."))
Эта формула последовательно заменяет - и / на точки, а затем преобразует текст в дату. После этого примените нужный формат (Способ 1 или 3).
Как сделать, чтобы при вводе даты автоматически добавлялись точки?
Для этого нужно создать макрос на VBA:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте новый модуль (
Insert → Module) и добавьте код:Private Sub Worksheet_Change(ByVal Target As Range)Dim cell As Range
For Each cell In Target
If IsDate(cell.Value) Then
cell.NumberFormat = "ДД.ММ.ГГГГ"
End If
Next cell
End Sub
- Сохраните файл как
.xlsm(с поддержкой макросов).
Теперь при вводе любой даты в ячейку она будет автоматически форматироваться с точками. ⚠️ Макросы работают только в настольной версии Excel.