Вы открыли файл Excel, а вместо привычных дат вроде «05.05.2026»** видите странные пятизначные числа — 45402, 44197 или 43831? Это не ошибка программы и не вирус. Так Microsoft Excel хранит даты внутренне, и иногда этот «секретный» формат проявляется на экране. В 90% случаев проблема решается за 3 клика, но есть и более сложные сценарии — например, когда даты импортированы из внешних источников или повреждены.
В этой статье вы узнаете:
- 🔍 Почему Excel показывает даты как числа (и почему это нормально с точки зрения программы)
- 🛠️ 5 способов вернуть датам привычный вид — от базового форматирования до восстановления повреждённых данных
- 📅 Как работает система дат в Excel: что означает число 44197 и почему 1 января 1900 года — ключевая точка отсчёта
- ⚠️ Типичные ошибки, которые превращают даты в бесполезные числа (и как их избежать при импорте данных)
Если вам нужно срочно преобразовать одно-два значения — пролистайте до раздела «Быстрое решение». Для сложных случаев (например, после некорректного экспорта из 1С или Google Sheets) читайте статью полностью: здесь есть нюансы, о которых не пишут в стандартных инструкциях.
Почему Excel хранит даты как числа (и когда это становится проблемой)
Excel не просто «любит» числа — он обязан хранить даты в числовом формате. Это архитектурное решение, заложенное ещё в первых версиях программы. Вот как это работает:
- 📌 Точка отсчёта: Excel считает дни от 1 января 1900 года (в Excel для Mac до 2011 года отсчёт вёлcя от 1904 года). Например:
- 1 = 1 января 1900 года
- 44197 = 1 января 2021 года
- 45402 = 5 мая 2026 года
- ⏱️ Время: дробная часть числа обозначает время суток. Например, 44197.5 = 12:00 01.01.2021.
- 🔄 Преобразование: когда вы вводите дату в ячейку, Excel автоматически конвертирует её в число, но отображает в привычном виде благодаря формату ячейки.
Проблема возникает, когда:
- Формат ячейки сбивается (например, после копирования данных из другого источника).
- Данные импортируются из систем, где даты хранятся как timestamp (например, Unix-time в секундах).
- Файл повреждён или открыт в несовместимой программе (например, в OpenOffice с неправильными настройками).
- Пользователь вручную меняет формат на
ОбщийилиЧисловой.
⚠️ Внимание: Если после открытия файла все датыSuddenly превратились в числа — проверьте настройки региональных стандартов в Windows.Excel берёт формат даты из системных настроек, и если они сбиты (например, разделитель даты указан как точка вместо косой черты), программа может «не узнать» даты.
Быстрое решение: как вернуть датам нормальный вид за 30 секунд
Если вам нужно срочно исправить отображение дат в одном-двух столбцах, следуйте этой инструкции:
Выделите ячейки с числами-датами|Нажмите правой кнопкой → «Формат ячеек»|Выберите категорию «Дата»|Укажите нужный формат (например, «14.03.2012»)|Нажмите «ОК»
-->
Этот способ работает в 95% случаев, но есть нюансы:
- ✅ Если числа соответствуют датам (например, 44197 → 01.01.2021), форматирование сработает.
- ❌ Если числа не являются датами (например, экспортированы как timestamp), потребуется дополнительная обработка (см. раздел «Конвертация timestamp»).
- ⚠️ Если после изменения формата появляются странные даты (например, 1905 год), проверьте настройки
Системы дат 1900/1904(об этом ниже).
Регулярно (раз в неделю)|Иногда (раз в месяц)|Рядом (1-2 раза в год)|Никогда не было такой проблемы
-->
Разбираемся с форматами: почему «Дата» не всегда спасает
Вы изменили формат ячейки на Дата, но вместо «05.05.2026»** по-прежнему видите 45402? Причины могут быть такими:
| Симптом | Причина | Решение |
|---|---|---|
| Число не меняется на дату | Ячейка содержит текст, а не число (например, после импорта из CSV) | Используйте функцию =ДАТАЗНАЧ() или Текст по столбцам |
| Дата сдвинута на 4 года (например, 1904 вместо 1900) | Включён режим Система дат 1904 |
Перейдите в Файл → Параметры → Дополнительно и снимите галочку с Использовать систему дат 1904 |
| Дата отображается как ###### | Столбец слишком узкий или отрицательное число дней | Расширьте столбец или проверьте корректность данных |
| После преобразования дата «сбивается» на 1-2 дня | Ошибка Excel с 29 февраля 1900 года (известный баг) | Вычтите 1 или 2 из числа перед форматированием |
Особого внимания заслуживает настройка Система дат 1904. Она включена по умолчанию в Excel для Mac (до 2011 года) и может быть активирована вручную в Windows-версии. Если эта опция включена, то:
- 1 = 1 января 1904 года (а не 1900).
- Все даты сдвинуты на 1462 дня (разница между 1900 и 1904 системами).
Конвертация timestamp: если даты пришли в секундах или миллисекундах
Частая проблема при импорте данных из баз данных, Google Analytics или программ вроде 1С: даты передаются как timestamp — количество секунд (или миллисекунд) с 1 января 1970 года. Например, число 1715000000 соответствует 5 мая 2026 года.
Чтобы преобразовать такие данные в нормальные даты:
- Разделите timestamp на 86400 (количество секунд в сутках), если он в секундах:
=A1/86400+ДАТА(1970;1;1) - Используйте 86400000, если timestamp в миллисекундах:
=A1/86400000+ДАТА(1970;1;1) - Примените к результату формат
Дата.
Важно: если после деления вы получаете дату вроде 1905 года, проверьте, не включена ли система дат 1904. В этом случае добавьте к формуле +1462:
=A1/86400+ДАТА(1970;1;1)+1462
Почему именно 1 января 1970 года?
Эта дата называется Unix epoch — точка отсчёта времени в системах Unix. Она была выбрана потому, что в 1970 году появилась первая версия Unix, и это упрощало хранение времени в 32-битных системах (максимальное значение — 231 секунд, что соответствует 19 января 2038 года). После этой даты многие старые системы «сломаются» — это называется проблемой Y2038.
Импорт данных: почему даты ломаются при открытии CSV или TXT
Одна из самых распространённых причин «поломанных» дат — некорректный импорт из текстовых файлов (.csv, .txt). Excel пытается угадать формат данных, но часто ошибается. Например:
- 📑 Дата «05.05.2026»** в CSV может быть интерпретирована как 5 мая (если разделитель — точка) или как 5-й месяц, 5-е число (если разделитель — косая черта).
- 🔢 Числа с ведущими нулями (например, 05.05.2026) обрезаются до 5.5.2026, и Excel перестаёт их распознавать как даты.
Как импортировать данные правильно:
- Используйте
Мастер текстов (Текст по столбцам):- Выделите столбец с датами.
- Перейдите на вкладку
Данные→Текст по столбцам. - На шаге 3 выберите формат
ДМГ(День-Месяц-Год) или укажите пользовательский формат.
/) или дефисы (-).' в начале ячейки), используйте функцию:
=ДАТАЗНАЧ(PODSTAVIT(A1;"'";""))
⚠️ Внимание: При импорте из Google Sheets даты могут «сбиваться» из-за разных систем отсчёта. Google Таблицы используют Unix-time, а Excel — собственную систему. Всегда проверяйте первые несколько строк после импорта!
Типичные ошибки пользователей (и как их избежать)
Многие проблемы с датами в Excel возникают из-за неочевидных действий пользователей. Вот топ-5 ошибок и как их предотвратить:
- 🔄 Копирование данных через буфер обмена: При копировании дат из веб-страниц или других программ Excel может «забыть», что это даты, и преобразовать их в текст или числа. Решение: используйте
Специальная вставка→Значения и форматы. - 📊 Применение математических операций к датам: Если вы сложите дату с числом, Excel вернёт число, а не дату. Например,
=A1+1к ячейке с 01.01.2026 вернёт 45293, а не 02.01.2026. Решение: используйте функции=ДАТА()или=ДАТАМЕС(). - 🔍 Фильтрация по «поломанным» датам: Если даты хранятся как текст, фильтры и сортировка работать не будут. Решение: преобразуйте текст в даты с помощью
=ДАТАЗНАЧ(). - 📅 Ручной ввод дат в нестандартном формате: Excel может не распознать «5 мая» или «May 5» как дату. Решение: используйте формат ДД.ММ.ГГГГ или ММ/ДД/ГГГГ.
- 🔄 Экспорт в PDF или печать без проверки: Даты в числовом формате в печатном виде выглядят как бессмысленные цифры. Решение: всегда проверяйте предварительный просмотр перед печатью.
Продвинутые приёмы: восстановление «битых» дат
Если стандартные методы не помогают, и даты отображаются как числа, которые не соответствуют реальным датам (например, 44197 должно быть 01.01.2021, но показывает 1905 год), попробуйте эти методы:
- 🔧 Проверка системы дат:
- Откройте новый лист и введите
=СЕГОДНЯ(). - Если результат — дата в 1905 году, значит включена система
1904. - Отключите её в
Файл → Параметры → Дополнительно.
- Откройте новый лист и введите
=A1-1462
Затем примените формат Дата.
- Выделите данные →
Данные → Из таблицы/диапазона. - В Power Query выберите столбец с датами →
Преобразовать → Тип данных → Дата. - Если даты не распознаются, используйте
Добавить столбец → Пользовательский столбецс формулой=Date.From([YourColumn]).
Для восстановления дат после повреждения файла:
- Создайте резервную копию файла.
- Откройте его в OpenOffice Calc — иногда он корректно распознаёт даты, которые Excel «не видит».
- Экспортируйте данные в
CSVи импортируйте обратно в Excel с правильными настройками.
Частые вопросы о датах в Excel
Почему в моём файле даты отображаются как 5-значные числа, а в коллеги — как нормальные даты?
Скорее всего, у вас разные настройки формата ячеек или системы дат. Проверьте:
- Формат ячейки (должен быть
Дата, а неОбщийилиЧисловой). - Настройки системы дат (
Файл → Параметры → Дополнительно → Использовать систему дат 1904). - Региональные настройки Windows (влияют на разделители дат).
Как преобразовать текст «05.05.2026» в настоящую дату?
Используйте функцию =ДАТАЗНАЧ():
=ДАТАЗНАЧ(A1)
Если функция возвращает ошибку, проверьте, нет ли в тексте лишних символов (например, пробелов или кавычек). Для массового преобразования:
- Вставьте вспомогательный столбец с формулой
=ДАТАЗНАЧ(). - Скопируйте результаты и вставьте их поверх исходных данных как
Значения.
Можно ли в Excel хранить даты до 1900 года?
Нет, Excel не поддерживает даты до 1 января 1900 года (или 1904 года, если включена соответствующая система). Для исторических данных используйте текстовый формат или специальные надстройки. Альтернатива — хранить даты как дни с произвольной точки отсчёта (например, 01.01.1800 = 1) и вручную добавлять её при отображении.
После обновления Excel все даты сбились на 4 года. Что делать?
Это классический симптом включённой системы дат 1904. Отключите её:
- Перейдите в
Файл → Параметры → Дополнительно. - Снимите галочку с
Использовать систему дат 1904. - Сохраните и перезагрузите файл.
Если даты по-прежнему неверные, вычтите из них 1462 (разница между системами 1900 и 1904).
Как экспортировать даты в CSV так, чтобы они не превращались в числа?
Перед экспортом:
- Выделите столбцы с датами.
- Примените к ним текстовый формат (
Формат ячеек → Текстовый). - Сохраните файл как
CSV (разделители — запятые).
Альтернатива — использовать Power Query для экспорта с явным указанием форматов.