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

Вы когда-нибудь сталкивались с ситуацией, когда в Microsoft Excel даты отображаются в формате «01.01.2023», а вам нужны просто цифры — например, «45265»? Это стандартное поведение программы: Excel хранит даты как последовательные числа (начиная с 1 января 1900 года), но по умолчанию показывает их в удобочитаемом виде. Преобразовать дату в число может понадобиться для расчётов, сортировки по внутреннему коду или интеграции с другими системами, где требуется числовой формат.

В этой статье мы разберём 5 проверенных способов конвертации дат в числа — от элементарных (изменение формата ячейки) до продвинутых (использование функций ДАТАЗНАЧ и ЗНАЧЕН). Вы узнаете, как избежать типичных ошибок (например, преобразования текстовой даты в «#ЗНАЧ!»), почему после копирования из веб-страниц даты становятся «неправильными числами», и как автоматизировать процесс для тысяч строк. Все методы протестированы в Excel 2019, Excel 365 и Excel Online.

Важно: внутреннее представление дат в Excel зависит от системы. В Windows отсчёт идёт с 1900 года (1 = 01.01.1900), а в Mac — с 1904 года (0 = 01.01.1904). Это влияет на итоговое число, но не на методы преобразования.

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

Если дата уже распознана Excel как дата (а не текст), достаточно сменить её формат. Этот метод занимает менее 10 секунд и не требует формул.

Как проверить, распознаётся ли дата корректно? Кликните по ячейке — если в строке формул отображается дата (например, «15.05.2023»), а не текст (например, «'15-05-2023»), значит, метод сработает.

  • 📌 Выделите ячейки с датами (или весь столбец, нажав на его букву).
  • 🖱️ Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте горячие клавиши Ctrl+1).
  • 📊 В окне формата перейдите на вкладку Число → выберите категорию Общий или Числовой.
  • ✅ Нажмите ОК — даты превратятся в числа (например, «45045»).

Критическая деталь: если после смены формата вы видите не числа, а даты в другом формате (например, «15-Май»), значит, изначально данные были текстом. Переходите к способу 3 или 4.

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

2. Горячие клавиши для мгновенного преобразования

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

  1. Выделите ячейки с датами.
  2. Нажмите Ctrl + Shift + ~ (тильда, находится под кнопкой Esc слева).

Эта комбинация применяет Общий формат ко всем выделенным ячейкам. Если даты были распознаны как даты, они станут числами. Если нет — останутся текстом.

⚠️ Внимание: На ноутбуках с неанглийской раскладкой тильда может быть скрыта. Чтобы её нажать, удерживайте Shift и клавишу с символом «~» (обычно рядом с 1 или Ё).

Альтернативный вариант — использовать Ctrl + 1 (открыть формат ячеек) → Alt + О (выбрать «Общий») → Enter. Это работает даже в Excel Online.

3. Функция ДАТАЗНАЧ: преобразование текстовой даты в число

Когда даты импортированы из CSV, PDF или веб-страниц, Excel часто воспринимает их как текст (например, «01/05/2023» или «1-Май-2023»). В этом случае простая смена формата не поможет — нужна функция ДАТАЗНАЧ (или DATEVALUE в английской версии).

Формула преобразует текстовую дату в числовой формат Excel:

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

Особенности функции:

  • 📅 Распознаёт большинство текстовых форматов дат (включая «15-Май-2023», «15/05/23», «2023-05-15»).
  • ❌ Не работает с датами до 1900 года (вернёт ошибку #ЗНАЧ!).
  • 🌍 Зависит от региональных настроек Excel: если у вас формат даты «месяц/день/год», а в тексте «день.месяц.год», функция может ошибиться.

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

=ДАТАЗНАЧ(A1)
⚠️ Внимание: Если после применения ДАТАЗНАЧ вы видите не число, а дату, смените формат ячейки с результатом на Общий (см. способ 1).

Убедиться, что текстовые даты написаны корректно (без опечаток)

Проверить региональные настройки Excel (Файл → Параметры → Язык)

Удалить лишние символы (например, "Дата: 15.05.2023" → оставить только "15.05.2023")

Скопировать исходные данные в новый столбец (на случай ошибок)-->

4. Функция ЗНАЧЕН для сложных текстовых дат

Если дата записана в нестандартном формате (например, «15 мая 2023 г.» или «2023/05/15 14:30»), ДАТАЗНАЧ может не справиться. Здесь поможет функция ЗНАЧЕН (или VALUE), которая преобразует любой распознаваемый текст в число:

=ЗНАЧЕН(A1)

Примеры успешного преобразования:

Исходный текстФормулаРезультат (число)
15.05.2023=ЗНАЧЕН(A1)45045
15-Май-2023=ЗНАЧЕН(A1)45045
2023-05-15=ЗНАЧЕН(A1)45045
15/05/23=ЗНАЧЕН(A1)45045
15 мая 2023 г.=ЗНАЧЕН(ПОДСТАВИТЬ(A1; " г."; ""))45045

Для дат с временем (например, «15.05.2023 14:30») используйте комбинацию функций:

=ЦЕЛОЕ(ЗНАЧЕН(A1))

Это отсечёт дробную часть (время), оставив только дату в числовом виде.

5. Power Query: автоматическое преобразование для больших данных

Если у вас тысячи строк с датами, ручное преобразование неэффективно. В этом случае поможет инструмент Power Query (доступен в Excel 2016 и новее):

  1. Выделите исходные данные → перейдите на вкладку ДанныеИз таблицы/диапазона (или Get Data → From Table/Range).
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. На вкладке Преобразование (Transform) выберите Тип данных → Дата (если даты текстом) или Тип данных → Число (если уже в формате даты).
  4. Нажмите Закрыть и загрузить (Close & Load).

Power Query автоматически преобразует все даты в числа (или наоборот) и сохраняет связь с исходными данными. Преимущества метода:

  • 🔄 Обрабатывает миллионы строк без лагов.
  • 📊 Сохраняет историю преобразований (можно обновить данные одним кликом).
  • 🛠️ Исправляет ошибки формата (например, «31.02.2023» → заменит на ближайшую корректную дату).
⚠️ Внимание: При импорте данных через Power Query проверьте региональные настройки в параметрах запроса. Если даты в формате «день/месяц/год», а система ожидает «месяц/день/год», результаты будут неверными.
Как исправить ошибку "Недопустимый тип данных" в Power Query?

Ошибка возникает, если в столбце смешаны даты и текст (например, "15.05.2023" и "Нет данных"). Решение:

1. Замените все не-даты на пустые значения: выделите столбец → "Преобразование" → "Заменить значения" → введите "Нет данных" (или другой мусор) → оставьте поле замены пустым.

2. Преобразуйте столбец в тип "Дата".

3. При необходимости вернитесь к шагу 1 и замените пустые значения на нужный текст.

6. VBA-макрос для пакетного преобразования

Если вам часто приходится конвертировать даты в числа, автоматизируйте процесс с помощью VBA-макроса. Этот код преобразует все выделенные ячейки с датами в их числовые эквиваленты:

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

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите ячейки с датами в Excel → запустите макрос (Alt + F8 → выберите ConvertDatesToNumbersВыполнить).

Макрос проверяет, является ли значение датой (IsDate), и только затем преобразует её. Это защищает от ошибок, если в выделенном диапазоне есть текст или числа.

Частые ошибки и как их избежать

При преобразовании дат в числа пользователи сталкиваются с типичными проблемами. Вот как их решить:

  • 🚫 Ошибка #ЗНАЧ! в ДАТАЗНАЧ: Проверьте формат текстовой даты. Например, «31.02.2023» (несуществующая дата) или «15/05/2023» при региональных настройках «месяц/день/год» вызовут ошибку. Используйте ПОДСТАВИТЬ, чтобы привести дату к стандартному виду.
  • 🔢 Числа вместо дат после импорта: Если при импорте из CSV даты стали числами (например, «45045»), это нормально — Excel уже хранит их как даты. Просто измените формат ячейки на «Дата».
  • 📅 Неправильный год: В Excel для Mac даты могут сдвигаться на 4 года из-за другой системы отсчёта (1904 вместо 1900). Чтобы исправить, добавьте или вычтите 1462 дня (разница между системами).

Ещё одна распространённая проблема — даты, хранящиеся как текст после копирования из веб-страниц. Они часто содержат неразрывные пробелы или скрытые символы. Решение:

=ДАТАЗНАЧ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1; СИМВОЛ(160); " ")))

Эта формула заменяет неразрывные пробелы (СИМВОЛ(160)) на обычные и удаляет лишние.

FAQ: Ответы на популярные вопросы

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

Excel хранит даты как количество дней, прошедших с 1 января 1900 года (в Windows) или 1904 года (в Mac). Например, 1 января 2023 года — это число 44927 в Windows и 39813 в Mac. Чтобы получить «нормальное» число (например, 20230101), используйте функцию:

=ТЕКСТ(A1; "ггггммдд")

Это преобразует дату в текстовый формат «20230515».

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

Если у вас есть число (например, 45045), чтобы вернуть формат даты:

  1. Выделите ячейку → Ctrl+1 → выберите формат Дата.
  2. Или используйте функцию =ДАТА(ГОД(ДАТАЗНАЧ("1.1.1900"))+ЦЕЛОЕ(A1/365); ОСТАТ(A1; 365); 1) (упрощённая версия).

Для точного преобразования достаточно сменить формат ячейки.

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

Да, но число будет дробным: целая часть — дата, дробная — время (где 0,5 = 12:00). Например, «15.05.2023 14:30» станет «45045,60417». Чтобы сохранить только дату, используйте:

=ЦЕЛОЕ(A1)

Или, если нужно отдельно дату и время:

=ЦЕЛОЕ(A1)  // дата

=А1-ЦЕЛОЕ(A1) // время

Почему функция ДАТАЗНАЧ не работает с датами до 1900 года?

Excel не поддерживает даты до 1 января 1900 года (в Windows) или 1904 года (в Mac) из-за ограничений системы хранения дат. Для исторических дат используйте текстовый формат или специализированные надстройки (например, XLDate).

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

Настройте Power Query для автоматического преобразования:

  1. При импорте данных выберите столбец с датами.
  2. В редакторе Power Query измените тип данных на Дата.
  3. Добавьте пользовательский столбец с формулой = Number.From([ВашСтолбец]).
  4. Удалите исходный столбец и переименуйте новый.

Теперь при каждом обновлении данных даты будут автоматически конвертироваться в числа.