Вы открыли файл Excel, а вместо привычных дат вроде «15.05.2026» видите странные числа типа 45432 или 44197? Это не ошибка программы — так Microsoft Excel хранит даты внутренне. Система считает дни с 1 января 1900 года (в Windows) или 1904 года (в Mac), где число 1 = 1 января, 2 = 2 января и так далее. Проблема в том, что ячейка настроена на отображение числового формата, а не даты.
Исправить это можно за считанные секунды — достаточно изменить формат ячейки. Но иногда причина кроется глубже: неправильный региональный стандарт, ошибки при импорте данных из CSV или даже повреждение файла. В этой статье разберём 5 рабочих способов вернуть даты к нормальному виду, а также научимся избегать типичных ошибок при работе с временными данными в Excel.
Почему Excel показывает даты как числа?
Чтобы понять, как исправить проблему, нужно разобраться в её природе. Excel хранит даты в виде последовательных чисел — так называемого серийного номера даты (date serial number). Например:
- 📅 1 = 1 января 1900 года (или 1904 года в Mac)
- 📅 44197 = 1 января 2021 года
- 📅 45623 = 1 января 2026 года
Это внутреннее представление позволяет программе легко выполнять вычисления с датами (например, вычитать одну дату из другой, чтобы получить количество дней). Однако когда ячейка имеет общий формат (Общий) или числовой, Excel показывает именно серийный номер, а не привычную дату.
Другие распространённые причины:
- 🔄 Импорт данных из внешних источников (CSV, базы данных, веб-страниц), где даты были сохранены как числа.
- 🌍 Неправильные региональные настройки (например, система ожидает формат
ММ/ДД/ГГГГ, а данные в форматеДД.ММ.ГГГГ). - 🛠️ Ошибки формул, которые возвращают числовое значение вместо даты (например,
=ДАТАЗНАЧ("15.05")без года).
Способ 1: Изменение формата ячейки (самый быстрый метод)
В 90% случаев проблема решается простым изменением формата. Вот пошаговая инструкция:
- Выделите ячейки (или столбец) с «поломанными» датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте сочетаниеCtrl + 1). - В открывшемся окне перейдите на вкладку
Число. - Выберите категорию
Датаи укажите нужный формат (например,14.03.2012или14 марта 2012 г.). - Нажмите
ОК.
Если после этого даты всё ещё отображаются как числа, проверьте:
- 🔢 Не установлен ли в ячейке текстовый формат (в этом случае изменение формата не поможет — см. Способ 3).
- 📊 Не являются ли данные результатом формулы (попробуйте скопировать значения через
Специальная вставка → Значения).
☑️ Проверка перед изменением формата
Способ 2: Использование функции ДАТАЗНАЧ (для текстового формата)
Если даты были импортированы как текст (например, из CSV), простое изменение формата не сработает. В этом случае поможет функция =ДАТАЗНАЧ(), которая преобразует текстовое представление даты в серийный номер.
Примеры использования:
| Текстовая дата | Формула | Результат |
|---|---|---|
"15.05.2026" |
=ДАТАЗНАЧ("15.05.2026") |
45432 (серийный номер) |
"May 15, 2026" |
=ДАТАЗНАЧ("15-May-2026") |
45432 |
"2026/05/15" |
=ДАТАЗНАЧ("15-05-2026") |
45432 |
После применения функции не забудьте изменить формат ячейки на «Дата», иначе вы снова увидите серийный номер.
⚠️ Внимание: ФункцияДАТАЗНАЧзависит от региональных настроек Excel. Если дата в форматеДД.ММ.ГГГГ, а система ожидаетММ/ДД/ГГГГ, функция может вернуть ошибку или неверную дату. В этом случае используйте формулу с разделением на день, месяц и год:=ДАТА(ГОД;МЕСЯЦ;ДЕНЬ).
Способ 3: Разделение текстовой даты на компоненты
Если ДАТАЗНАЧ не работает из-за несовместимости форматов, можно вручную извлечь день, месяц и год с помощью функций ЛЕВСИМВ, ПСТР и ПРАВСИМВ, а затем собрать дату заново.
Пример для даты в формате ДД.ММ.ГГГГ:
=ДАТА(
ПРАВСИМВ(A1;4), -- год (последние 4 символа)
ПСТР(A1;4;2), -- месяц (символы 4-5)
ЛЕВСИМВ(A1;2) -- день (первые 2 символа)
)
Для даты в формате ММ/ДД/ГГГГ:
=ДАТА(
ПРАВСИМВ(A1;4),
ЛЕВСИМВ(A1;2),
ПСТР(A1;4;2)
)
Этот метод универсален, но требует знания точного формата исходных данных. Если даты записаны в разных форматах, придётся использовать ЕСЛИОШИБКА или ВПР для обработки исключений.
Способ 4: Исправление региональных настроек
Иногда проблема кроется в неправильных региональных стандартах Windows или Excel. Например, если система настроена на формат ММ/ДД/ГГГГ, а вы вводите дату как ДД.ММ.ГГГГ, Excel может интерпретировать её как текст или неверную дату.
Как проверить и исправить:
- В Windows: откройте
Параметры → Время и язык → Регион → Дополнительные параметры даты и времении убедитесь, что короткий формат даты соответствует вашему региону. - В Excel: перейдите в
Файл → Параметры → Дополнительнои проверьте параметрИспользовать системные разделители. - Если даты импортированы из внешнего источника, попробуйте открыть файл с указанием правильной кодировки (например, через
Данные → Получить данные → Из файла → CSVи выберите нужный разделитель).
Критическая деталь: если вы работаете с датами до 1900 года (например, исторические данные), Excel для Windows их не поддерживает — серийные номера начинаются с 1900 года. В этом случае используйте текстовый формат или специализированные надстройки.
Способ 5: Восстановление данных после ошибок импорта
Если даты были повреждены при импорте из CSV, SQL или другой системы, попробуйте следующие шаги:
- Повторный импорт с правильными настройками:
- 📄 Используйте
Данные → Получить данные → Из файлаи укажите правильный разделитель. - 📊 На этапе преобразования выберите столбец с датами и измените его тип на
Дата.
- 📄 Используйте
- 🔧 Если даты сдвинуты на 4 года (типичная ошибка при переходе между системами 1900/1904), вычтите или прибавьте
1462(количество дней между 1900 и 1904 годами). - 📅 Для дат в формате Unix timestamp (секунды с 1970 года) используйте формулу:
=ДАТА(1970;1;1)+A1/86400.
Если файл повреждён, попробуйте открыть его в Google Sheets — иногда он лучше справляется с восстановлением форматов. Затем экспортируйте данные обратно в Excel.
Почему даты могут сдвигаться на 4 года?
Это связано с исторической ошибкой в Excel для Mac, где отсчёт начинался с 1904 года (а не 1900, как в Windows). Разница между системами — 1462 дня. Если файл создавался на Mac, а открывается на Windows (или наоборот), даты могут «уехать» на 4 года и 1 день.
Типичные ошибки и как их избежать
Даже после исправления формата даты могут вести себя непредсказуемо. Вот самые распространённые ловушки:
- 🔄 Автоформатирование: Excel может автоматически преобразовывать даты в числа при вводе. Чтобы этого избежать, предварительно установите формат ячейки как
Текстовый, а затем вводите данные. - 📊 Округление: При копировании дат через буфер обмена иногда теряется точность (например, время обнуляется). Используйте
Специальную вставку → Значения. - 🛠️ Ошибки в формулах: Функции вроде
=СЕГОДНЯ()-A1вернут количество дней только еслиA1содержит корректную дату, а не текст.
⚠️ Внимание: Если вы работаете с динамическими датами (например,=СЕГОДНЯ()), не преобразуйте их в значения (Копировать → Специальная вставка → Значения) — они перестанут обновляться! Вместо этого используйте формат ячейки.
FAQ: Частые вопросы о датах в Excel
Почему после изменения формата даты всё равно показываются как числа?
Скорее всего, ячейки имеют текстовый формат. Проверьте это в окне Формат ячеек. Если да, используйте =ДАТАЗНАЧ() или разделите текст на компоненты (см. Способ 3). Также убедитесь, что в ячейке нет пробелов или скрытых символов (используйте =ПЕЧСИМВ(A1) для очистки).
Как преобразовать числа типа 44197 обратно в даты?
Эти числа — серийные номера дат. Просто измените формат ячейки на Дата (см. Способ 1). Если это не сработало, проверьте, не являются ли числа результатом формулы (например, =A1*1). Скопируйте их как значения (Специальная вставка → Значения) и повторите изменение формата.
Можно ли в Excel работать с датами до 1900 года?
В стандартной версии Excel для Windows — нет, так как серийные номера начинаются с 1900 года. Обходные пути:
- Используйте текстовый формат и обрабатывайте даты как строки.
- Установите надстройку для работы с историческими датами (например, Extended Date Functions).
- Перейдите на Excel для Mac, где поддерживаются даты с 1904 года (но это не решит проблему для дат до 1904).
Почему при копировании дат из Excel в Word они становятся числами?
Это происходит из-за конфликта форматов между программами. Решения:
- Скопируйте даты как значения (
Специальная вставка → Значения), а затем измените формат в Word. - Вставляйте через
Специальная вставка → Текст. - Предварительно преобразуйте даты в текст с помощью
=ТЕКСТ(A1;"дд.мм.гггг").
Как исправить даты, которые отображаются как ######?
Символы ###### появляются, когда ширина столбца недостаточна для отображения даты или когда результат формулы отрицательный (например, вычитание более поздней даты из ранней). Решения:
- 📏 Расширьте столбец.
- 🔄 Проверьте формулу на корректность (например,
=А1-В1, гдеВ1позжеА1). - 📅 Убедитесь, что ячейки имеют формат
Дата, а неОбщий.