По умолчанию Microsoft Excel отображает даты с разделителями — точками или косыми чертами (например, 25.12.2023 или 25/12/2023). Но в некоторых случаях требуется вводить даты без точек: для внутренней отчётности, экспорта в другие системы или просто для удобства восприятия. Формат типа 25122023 или 25.12.23 (без года) может показаться нестандартным, но Excel легко адаптируется под такие задачи.
Проблема в том, что при ручном вводе даты без разделителей (например, 25122023) программа часто воспринимает её как число, а не как дату. Это приводит к ошибкам в сортировке, фильтрации и расчётах. В этой статье разберём 5 проверенных способов записать дату в Excel без точек — от простого форматирования до использования формул и макросов. Также выясним, почему иногда Excel "не понимает" ваш формат и как это исправить.
Если вы работаете с большими массивами данных, где даты нужно привести к единому виду (например, для загрузки в 1С или CRM), умение управлять их отображением сэкономит часы ручной правки. А для бухгалтеров и аналитиков это вообще критичный навык — ошибка в формате даты может исказить отчёты по периодам.
Важно: все методы в статье работают в Excel 2010–2023 и Microsoft 365. Для Google Sheets majority принципов также актуальны, но могут отличаться пути к настройкам.
Почему Excel автоматически добавляет точки в даты
Excel хранит даты не как текст, а как серийные числа — количество дней, прошедших с 1 января 1900 года. Например, дата 01.01.2023 в внутреннем представлении программы — это число 44927. Когда вы вводите дату в ячейку, Excel пытается "угадать" ваш формат и применяет региональные настройки по умолчанию.
Если в настройках Windows установлен формат даты с точками (например, для России — ДД.ММ.ГГГГ), то Excel будет автоматически добавлять разделители, даже если вы ввели дату без них. Это поведение можно изменить, но для этого нужно понимать, как программа интерпретирует ввод:
- 📅 Ввод с разделителями:
25.12.2023→ Excel распознаёт как дату и применяет формат по умолчанию. - 🔢 Ввод без разделителей:
25122023→ Excel воспринимает как число (если оно не соответствует никакому известному формату даты). - 📊 Текстовый ввод: Если перед числом поставить апостроф (
'25122023), Excel сохраняет значение как текст, но теряет возможность работать с ним как с датой (сортировка, формулы).
Чтобы заставить Excel воспринимать 25122023 как дату, нужно либо изменить формат ячейки заранее, либо использовать специальные функции. Об этом — в следующих разделах.
⚠️ Внимание: Если вы импортируете данные из внешних источников (например, из 1С или SQL), где даты записаны без разделителей, Excel может преобразовать их в числа типа2.5122023E+07(научный формат). Чтобы этого избежать, предварительно форматируйте столбец какТекстилиДата.
Способ 1: Изменение формата ячейки на пользовательский
Самый надёжный способ записать дату без точек — использовать пользовательский формат. Это позволит вводить даты в привычном виде (например, 25.12.2023), но отображать их без разделителей (25122023).
Инструкция:
- Выделите ячейку или диапазон с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте горячие клавишиCtrl+1). - В открывшемся окне перейдите на вкладку
Число → (все форматы). - В поле
Тип:введите один из форматов:- 📅
ДДММГГГГ— для полной даты (25122023) - 📅
ДДММГГ— для сокращённого года (251223) - 📅
ММДДГГГГ— если нужен американский формат (12252023)
- 📅
ОК.Теперь при вводе даты в стандартном формате (например, 25.12.2023) Excel будет отображать её как 25122023, но при этом сохранять все свойства даты: возможность сортировки, использования в формулах типа =ДАТА() или =ДЕНЬНЕД().
Выделите ячейку с датой|Посмотрите на строку формул — там должно отображаться исходное значение (например, 25.12.2023)|Попробуйте отсортировать столбец — даты должны расположиться по порядку|Используйте формулу =ДЕНЬ(A1) — она должна вернуть день месяца (25)
-->
Если после применения формата даты отображаются как ########, значит, ширина столбца недостаточна. Растяните его или уменьшите размер шрифта.
Способ 2: Ввод даты как текста с последующим преобразованием
Если вам нужно однократно ввести дату без точек (например, для экспорта), можно использовать текстовый формат с апострофом. Однако у этого метода есть существенный недостаток: такие данные нельзя использовать в вычислениях.
Как ввести дату как текст:
- В начале ячейки поставьте апостроф:
'25122023. - Нажмите
Enter— Excel сохранит значение как текст.
Чтобы позже преобразовать текстовые даты в нормальный формат, используйте функцию =ДАТАЗНАЧ() (для английской версии — =DATEVALUE()):
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;"";"";1))
Эта формула заменяет все разделители на пустоту и конвертирует текст в дату.
Альтернативный вариант — использовать Функцию текста в столбцы:
- Выделите столбец с текстовыми датами.
- Перейдите на вкладку
Данные → Текст по столбцам. - Выберите
Фиксированная ширинаи нажмитеГотово. - Установите для столбца формат
Дата. - 📅 Полная дата без разделителей:
=ТЕКСТ(ДАТА(2023;12;25);"ДДММГГГГ")Результат:
25122023(но в строке формул будет отображаться как дата). - 📅 Текущая дата без точек:
=ТЕКСТ(СЕГОДНЯ();"ДДММГГГГ") - 📅 Дата из отдельных компонентов (день, месяц, год в разных ячейках):
=ТЕКСТ(ДАТА(B1;C1;D1);"ДДММГГГГ")где
B1— год,C1— месяц,D1— день.
⚠️ Внимание: Если в текстовой дате не хватает разрядов (например,25123вместо25122023), Excel может неправильно интерпретировать год. Всегда проверяйте результат на корректность!
Способ 3: Использование формул для генерации дат без точек
Если даты нужно сгенерировать автоматически (например, для диапазона периодов), используйте комбинацию функций =ТЕКСТ() и =ДАТА(). Это позволит создать даты без разделителей, сохраняя их свойства для вычислений.
Примеры формул:
Преимущество этого метода в том, что формула возвращает текстовое представление даты, но при этом вы можете легко изменить исходные параметры (например, год) и получить актуальное значение. Для обратного преобразования в дату используйте =ДАТАЗНАЧ().
1. Введите в первую ячейку =ТЕКСТ(ДАТА(2023;1;1);"ДДММГГГГ")
2. Растяните формулу вниз — Excel автоматически увеличит день на 1.
-->
Способ 4: Макрос для массового преобразования дат
Если у вас тысячи строк с датами, ручное форматирование займёт слишком много времени. В этом случае поможет макрос на VBA, который преобразует все даты в выбранном диапазоне в формат без разделителей.
Инструкция по созданию макроса:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Выберите
Insert → Module. - Вставьте следующий код:
Sub FormatDatesWithoutDots()Dim rng As Range
Dim cell As Range
Set rng = Selection
For Each cell In rng
If IsDate(cell.Value) Then
cell.NumberFormat = "ДДММГГГГ"
End If
Next cell
End Sub
- Закройте редактор и выделите диапазон с датами.
- Запустите макрос через
View → Macros → FormatDatesWithoutDots → Run.
Этот макрос проверяет каждую ячейку в выделенном диапазоне: если значение является датой, применяет формат ДДММГГГГ. Если нужно другой формат (например, ММДДГГ), измените строку cell.NumberFormat в коде.
⚠️ Внимание: Перед запуском макроса сохраните файл — при ошибке в коде данные могут быть потеряны. Также убедитесь, что в выделенном диапазоне нет важных формул, которые макрос может перезаписать.
Как сделать кнопку для быстрого запуска макроса
1. Перейдите на вкладку Разработчик → Вставить → Кнопка (элемент управления формы)|2. Нарисуйте кнопку на листе и присвойте ей макрос FormatDatesWithoutDots|3. Теперь преобразование дат будет доступно в один клик
Способ 5: Настройка региональных параметров Excel
Если вам нужно, чтобы все даты по умолчанию вводились без точек, измените региональные настройки Excel. Это повлияет на отображение дат во всём файле, поэтому используйте метод осторожно.
Как изменить региональные настройки:
- Откройте
Файл → Параметры → Дополнительно. - Прокрутите до раздела
Параметры редактирования. - Снимите галочку с
Автоматически вставлять десятичную запятую(если она стоит). - Нажмите
Параметры автозамены...и перейдите на вкладкуАвтоформат при вводе. - Уберите галочку с
Значения с разделителями заменять датами.
После этого Excel перестанет автоматически добавлять точки при вводе дат. Однако вам придётся вручную применять формат ДДММГГГГ к ячейкам, как описано в Способе 1.
Для полного контроля над форматом дат можно также изменить системные настройки Windows:
- Откройте
Панель управления → Часы и регион → Изменение форматов даты, времени и чисел. - На вкладке
ФорматывыберитеДополнительные параметры.... - Измените короткий формат даты на
ДДММГГГГ(без разделителей).
Это единственный способ заставить Excel по умолчанию воспринимать ввод типа "25122023" как дату, а не как число. Однако изменение системных настроек повлияет на все программы, поэтому используйте его только при необходимости.
Частые ошибки и как их избежать
При работе с датами без точек пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые из них и способы решения:
| Ошибка | Причина | Решение |
|---|---|---|
Дата отображается как ######## |
Столбец слишком узкий для формата | Увеличьте ширину столбца или уменьшите размер шрифта |
Формулы типа =ДЕНЬ() возвращают ошибку #ЗНАЧ! |
Дата сохранена как текст, а не как значение даты | Используйте =ДАТАЗНАЧ() для преобразования |
После экспорта в CSV даты становятся числами типа 44927 |
CSV не сохраняет форматы ячеек | Перед экспортом преобразуйте даты в текст с помощью =ТЕКСТ() |
| Макрос не работает для части дат | В ячейках смешаны тексты и даты | Предварительно отфильтруйте данные или добавьте в макрос проверку IsDate |
Ещё одна распространённая проблема — некорректная сортировка. Если даты без точек сохранены как текст, Excel сортирует их как строки (например, 11122023 будет идти перед 2122023). Чтобы этого избежать, всегда используйте формат даты, а не текстовый.
Пользовательский формат ячеек|Формулы типа =ТЕКСТ()|Макросы VBA|Ручной ввод с апострофом|Другой способ
-->
FAQ: Ответы на частые вопросы
Можно ли в Excel вводить дату в формате ДДММГГГГ напрямую, без предварительного форматирования?
Нет, если просто ввести 25122023 в пустую ячейку, Excel воспримет это как число, а не как дату. Чтобы программа корректно интерпретировала такой ввод, нужно либо:
- Заранее применить к ячейке формат
ДДММГГГГ(см. Способ 1). - Использовать апостроф (
'25122023), но тогда дата станет текстом. - Изменить региональные настройки Windows (см. Способ 5).
Почему после применения формата ДДММГГГГ даты отображаются как ########?
Это означает, что ширина столбца недостаточна для отображения даты в новом формате. Решения:
- Дважды кликните по правой границе заголовка столбца (автоподбор ширины).
- Уменьшите размер шрифта в ячейках.
- Используйте более короткий формат, например,
ДДММГГвместоДДММГГГГ.
Как экспортировать даты без точек в CSV, чтобы они не превращались в числа?
При экспорте в CSV Excel теряет форматы ячеек, и даты преобразуются в серийные числа. Чтобы этого избежать:
- Создайте вспомогательный столбец с формулой
=ТЕКСТ(A1;"ДДММГГГГ"). - Скопируйте значения из вспомогательного столбца и вставьте их как
Значения(без формул). - Экспортируйте только столбец с текстовыми датами.
Альтернатива: перед экспортом сохраните файл в формате Текстовый (разделители — знаки табуляции) вместо CSV.
Можно ли использовать даты без точек в функциях типа ДЕНЬНЕД() или РАЗНДАТ()?
Да, но только если даты сохранены как настоящие значения дат (а не как текст). Проверьте это так:
- Выделите ячейку с датой и посмотрите на строку формул — там должно отображаться исходное значение (например,
25.12.2023), а не25122023. - Примените к ячейке формат
Общий— если появилось число типа44927, значит, это корректная дата.
Если дата хранится как текст, сначала преобразуйте её с помощью =ДАТАЗНАЧ().
Как в Google Sheets убрать точки в датах?
В Google Sheets процесс аналогичен Excel:
- Выделите ячейки с датами.
- Перейдите в
Формат → Числа → Другие форматы даты и времени. - В поле
Пользовательский формат даты и временивведитеddMMyyyy(для формата25122023).
Для массового преобразования используйте функцию =ARRAYFORMULA(TEXT(A1:A100; "ddMMyyyy")).