Как в Excel преобразовать дату в число: все способы с примерами

Работа с датами в Microsoft Excel часто требует их преобразования в числовой формат — будь то для расчётов, анализа или интеграции с другими системами. Многие пользователи сталкиваются с проблемой: ячейка содержит дату (например, 15.05.2026), а нужно получить её числовое представление — количество дней с 01.01.1900 (в Excel даты хранятся именно так) или просто номер дня в году.

В этой статье разберём все рабочие методы преобразования даты в число: от простых горячих клавиш до сложных формул с учётом локальных настроек. Вы узнаете, как избежать типичных ошибок (например, сбоя из-за региональных форматов) и автоматизировать процесс для больших массивов данных.

Особое внимание уделим случаям, когда Excel воспринимает дату как текст — это частая проблема при импорте данных из внешних источников. Также покажем, как вернуть обратное преобразование (из числа в дату), если потребуется восстановить исходный формат.

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редико
Никогда

Почему Excel хранит даты как числа и зачем их преобразовывать

В основе хранения дат в Excel лежит система серийных номеров: каждая дата — это количество дней, прошедших с 1 января 1900 года (в Windows) или 1 января 1904 года (в Mac по умолчанию). Например, дата 01.01.2026 в числовом формате — это 45292 (для системы 1900).

Преобразовывать даты в числа требуется в нескольких случаях:

  • 📊 Для математических операций: вычитания дат, расчёта разницы в днях, добавления/вычитания временных интервалов.
  • 🔄 Для интеграции с другими системами, где даты передаются в числовом формате (например, API или базы данных).
  • 📈 Для построения графиков, где по оси X нужно отобразить временные ряды в числовом виде.
  • 🔍 Для сортировки и фильтрации больших массивов данных, где текстовые даты могут обрабатываться некорректно.

Важно понимать, что числовое представление даты — это не просто произвольное число, а уникальный идентификатор, привязанный к конкретному дню в истории. Это позволяет Excel выполнять временные расчёты с высокой точностью.

⚠️ Внимание: Если вы работаете с датами до 1900 года, Excel может их некорректно интерпретировать из-за ограничений системы серийных номеров. В таких случаях используйте текстовый формат или специализированные надстройки.

Способ 1: Изменение формата ячейки (самый быстрый метод)

Если дата в ячейке уже распознана Excel как дата (а не текст), самый простой способ получить её числовое значение — изменить формат отображения. Для этого:

  1. Выделите ячейку или диапазон с датами.
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте горячие клавиши Ctrl + 1).
  3. В открывшемся окне перейдите на вкладку Число и выберите формат Общий или Числовой.

Excel сразу отобразит серийный номер даты. Например, 15.05.2026 превратится в 45419.

☑️ Проверка корректности преобразования

Выполнено: 0 / 4

Этот метод работает только если исходные данные уже распознаны как даты. Если в ячейке текст (например, после импорта из CSV), сначала используйте функцию ДАТАЗНАЧ (разберём её ниже).

Исходная дата Серийный номер (формат 1900) Серийный номер (формат 1904)
01.01.2020 43831 42370
31.12.2023 45291 43830
15.05.2026 45419 43958
⚠️ Внимание: На Mac по умолчанию используется система отсчёта с 1904 года. Чтобы избежать расхождений, проверьте настройки в Excel → Настройки → Расчёты → Параметры вычислений (галочка "Система дат 1904").

Способ 2: Функция ДАТАЗНАЧ для текстового формата дат

Если даты импортированы как текст (например, из CSV или базы данных), их нужно сначала преобразовать в распознаваемый Excel формат. Для этого используется функция =ДАТАЗНАЧ(текст). Например:

=ДАТАЗНАЧ("15.05.2026")

Функция вернёт серийный номер даты, который затем можно отформатировать как число. Особенности работы с ДАТАЗНАЧ:

  • 🌍 Распознаёт даты в региональном формате вашей системы. Если у вас русский Excel, ожидает формат ДД.ММ.ГГГГ.
  • ❌ Не работает с датами до 1900 года — вернёт ошибку #ЗНАЧ!.
  • 🔄 Можно применять к диапазону ячеек, например: =ДАТАЗНАЧ(A1:A10) (в новых версиях Excel).

Пример использования для столбца с текстовыми датами:

  1. Введите в соседней ячейке формулу =ДАТАЗНАЧ(B2) (где B2 — ячейка с текстовой датой).
  2. Протяните формулу вниз для всего столбца.
  3. Скопируйте результаты и вставьте как Значения (через Специальная вставка).
  4. Удалите исходный столбец с текстовыми датами.
Что делать, если ДАТАЗНАЧ не работает?

Если функция возвращает ошибку, проверьте:

1. Формат текстовой даты (должен соответствовать региональным настройкам Excel).

2. Наличие лишних пробелов или символов в ячейке (используйте =ПЕЧСИМВ(A1) для очистки).

3. Версию Excel: в старых версиях (до 2013) ДАТАЗНАЧ не поддерживает массивы.

Способ 3: Формулы для извлечения компонентов даты

Иногда требуется не серийный номер даты, а её отдельные компоненты — день, месяц или год в числовом виде. Для этого используйте функции:

  • =ДЕНЬ(дата) — возвращает номер дня в месяце (1–31).
  • =МЕСЯЦ(дата) — возвращает номер месяца (1–12).
  • =ГОД(дата) — возвращает год (например, 2026).
  • =ДАТАМЕС(дата1; дата2) — разница между датами в месяцах.

Пример: чтобы получить номер дня в году для даты в ячейке A1, используйте формулу:

=A1-ДАТА(ГОД(A1);1;0)

Эта формула вычитает из текущей даты 31.12.предыдущего года, возвращая порядковый номер дня (например, для 15.05.2026 результат — 136).

Для расчёта количества дней между двумя датами:

=B1-A1

где A1 и B1 — ячейки с датами. Результат будет в днях (целое число).

Способ 4: Горячие клавиши и специальная вставка

Если вам нужно быстро преобразовать столбец с датами в числа без формул, используйте специальную вставку:

  1. Выделите ячейки с датами и скопируйте их (Ctrl + C).
  2. Щёлкните правой кнопкой по пустой ячейке и выберите Специальная вставка → Значения (или нажмите Ctrl + Alt + V → В).
  3. Измените формат вставленных ячеек на Общий или Числовой.

Этот метод полезен, когда даты уже распознаны Excel как даты, но нужно "зафиксировать" их числовые значения. Альтернативный способ — использовать горячие клавиши:

  • 🔢 Ctrl + Shift + ~ — применит формат Общий к выделенным ячейкам.
  • 🔢 Ctrl + ; — вставит текущую дату как серийный номер (если ячейка в формате Общий).

Для массового преобразования больших таблиц удобно использовать макрос:

Sub ConvertDatesToNumbers()

Dim cell As Range

For Each cell In Selection

If IsDate(cell.Value) Then

cell.NumberFormat = "General"

cell.Value = cell.Value

End If

Next cell

End Sub

Этот код обходит выделенный диапазон и преобразует все распознанные даты в числа.

Способ 5: Power Query для сложных преобразований

Если вы работаете с большими наборами данных (например, импортируете из SQL или CSV), удобнее использовать Power Query — инструмент для очистки и трансформации данных. Алгоритм действий:

  1. Выделите исходные данные и перейдите на вкладку Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. На вкладке Преобразовать выберите Тип данных → Дата (если данные текстовые).
  4. Затем выберите Столбец → Добавить пользовательский столбец и введите формулу для извлечения числового значения, например:
    [Дата] - #date(1900, 1, 1)
  5. Удалите исходный столбец с датами и сохраните изменения.

Преимущества Power Query:

  • 🔄 Обрабатывает миллионы строк без замедления.
  • 📁 Сохраняет шаги преобразования для повторного использования.
  • 🌍 Автоматически распознаёт региональные форматы дат.

После загрузки данных обратно в Excel вы получите столбец с числовыми значениями дат, которые можно использовать для анализа.

Типичные ошибки и как их избежать

При преобразовании дат в числа пользователи часто сталкиваются с следующими проблемами:

⚠️ Внимание: Если после преобразования вы видите не число, а последовательность символов вроде 45292.12345, это означает, что в дате было указано время. Чтобы оставить только целую часть (дни), используйте функцию =ЦЕЛОЕ(ячейка).

Распространённые ошибки и решения:

Ошибка Причина Решение
Функция ДАТАЗНАЧ возвращает #ЗНАЧ! Текст не распознаётся как дата (неверный формат или лишние символы). Используйте =ПОДСТАВИТЬ() для очистки данных или измените региональные настройки.
После преобразования число отрицательное. Используется система дат 1904 на Mac. Добавьте 1462 к результату (разница между системами 1900 и 1904).
Число дробное (например, 45419.5). В дате указано время (0.5 = 12:00). Примените =ЦЕЛОЕ() или измените формат на Дата без времени.

Ещё одна типичная проблема — автоматическое преобразование форматов при импорте. Например, даты из CSV-файла могут импортироваться как текст в формате ММ/ДД/ГГГГ, даже если в вашей системе используется ДД.ММ.ГГГГ. В этом случае:

  • 📌 Перед импортом измените региональные настройки Excel на Английский (США).
  • 📌 Используйте Power Query для принудительного распознавания формата.

FAQ: Частые вопросы по преобразованию дат в числа

Можно ли преобразовать дату в число без потери точности?

Да, серийный номер даты в Excel хранится с точностью до долей секунды. Однако при отображении в формате Общий вы увидите только целую часть (дни). Чтобы сохранить время, используйте формат Числовой с нужным количеством десятичных знаков.

Как вернуть дату обратно из числа?

Просто измените формат ячейки на Дата. Excel автоматически преобразует серийный номер обратно в дату. Если число было округлено (например, функцией ЦЕЛОЕ), время будет утеряно.

Почему после преобразования дата сдвинулась на 4 года?

Это происходит из-за различия систем дат 1900 и 1904. На Mac по умолчанию используется система 1904, где 01.01.1904 = 1, а в Windows 01.01.1900 = 1. Чтобы исправить, добавьте или вычтите 1462 (разницу между системами).

Как преобразовать дату в номер недели или квартал?

Для номера недели используйте =НОМНЕДЕЛИ(дата). Для квартала:

=ОКРВВЕРХ(МЕСЯЦ(дата)/3; 0)

Эта формула вернёт номер квартала (1–4).

Можно ли автоматизировать преобразование для новых данных?

Да, с помощью таблиц Excel и динамических массивов (в Excel 365). Создайте таблицу, добавьте столбец с формулой =ДАТАЗНАЧ([@Дата]), и она будет автоматически применяться к новым строкам. Также можно использовать Power Query для автоматической обработки.