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

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

Вы когда-нибудь замечали, что Excel иногда воспринимает введённую вами дату как обычное число? Это не ошибка программы, а особенность её работы. Дело в том, что все даты в Excel хранятся как числовые значения — количество дней, прошедших с 1 января 1900 года (в Windows) или с 1 января 1904 года (в Mac). Например, дата 01.01.2026 для Excel — это число 45292, потому что с 1900 года прошло именно столько дней.

Эта система позволяет легко выполнять вычисления с датами: прибавлять дни, вычитать интервалы или сравнивать периоды. Но что делать, если вам нужно показать дату именно как число — например, для отчётности, где требуется формат 20260101 вместо 01.01.2026? Или если вы импортировали данные, где даты отображаются как пятизначные числа, и нужно их преобразовать обратно? В этой статье разберём все способы — от элементарных до автоматизированных.

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

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

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

Как это сделать:

  • 📌 Выделите ячейки или диапазон с датами.
  • 🖱️ Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте сочетание Ctrl+1).
  • 📊 В открывшемся окне перейдите на вкладку ЧислоЧисловой.
  • ⚙️ Укажите количество десятичных знаков (обычно 0 для целых чисел).

После этого дата 15.05.2023 превратится в число 45066. Но помните: это всё ещё дата для Excel! Если вы прибавите к такой ячейке 1, она станет 45067, что соответствует 16.05.2023.

⚠️ Внимание: Если вы скопируете эти "числа" в другой файл или программу, они могут снова отобразиться как даты — потому что их внутренний формат не изменился. Для полного преобразования используйте способы ниже.
📊 Какой версии Excel вы пользуетесь?
Excel 2010-2016
Excel 2019-2023
Office 365 (онлайн/десктоп)
LibreOffice Calc
Другой

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

Когда нужно получить числовое представление даты в отдельной ячейке (а не менять формат исходной), используйте формулы. Это полезно, если вам требуется, например, номер недели, день года или дата в формате ГГГГММДД.

Основные формулы:

Цель Формула Пример (для 15.05.2023)
Дата → число дней с 1900 года =A1 (с числовым форматом) 45066
Дата в формате ГГГГММДД =ТЕКСТ(A1;"yyyymmdd") 20230515
Дата в формате ДДММГГГГ =ТЕКСТ(A1;"ddmmyyyy") 15052023
Номер недели в году =НОМНЕДЕЛИ(A1) 20
День года (1–365) =A1-ДАТА(ГОД(A1);1;0) 135

Если вам нужно сохранить исходные даты и создать отдельный столбец с числовыми значениями, просто введите формулу в соседней ячейке и протяните её вниз. Например, для преобразования даты в формат ГГГГММДД:

=ТЕКСТ(B2;"yyyymmdd")
⚠️ Внимание: Формула =ТЕКСТ() возвращает текстовое значение, а не число! Если вам нужно именно число (например, для дальнейших расчётов), используйте =--ТЕКСТ(A1;"yyyymmdd") — двойной унарный минус преобразует текст в число.

Способ 3: Замена даты на число с помощью "Найти и заменить"

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

Инструкция:

  1. Выделите диапазон с "датами-числами".
  2. Нажмите Ctrl+H (или Главная → Найти и выделить → Заменить).
  3. В поле Найти введите формат вашей даты (например, ..... для ДД.ММ.ГГГГ).
  4. В поле Заменить на оставьте пустым.
  5. Нажмите Заменить всё.
  6. Теперь примените к ячейкам Числовой формат.

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

Выделите все ячейки с датами|Проверьте текущий формат ячеек (дата или текст?)|Создайте резервную копию данных|Определитесь с конечным форматом (ГГГГММДД, ДДММГГГГ и т.д.)|Убедитесь, что в данных нет ошибок (например, 31 февраля)

-->

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

Когда даты хранятся как числа (например, 45066), но отображаются как даты (15.05.2023), и вам нужно получить именно числовое значение без формул, используйте Специальную вставку:

Пошаговая инструкция:

  • 📋 Скопируйте ячейки с датами (Ctrl+C).
  • 🖱️ Щёлкните правой кнопкой по пустой ячейке и выберите Специальная вставка... (или Главная → Вставить → Специальная вставка).
  • 🔢 В окне выберите Значения и нажмите ОК.
  • 📊 Теперь примените к вставленным данным Числовой формат.

Этот метод полезен, если вам нужно разорвать связь с исходными данными (например, при работе с выгрузками из 1С или других систем). После специальной вставки ячейки будут содержать именно числа, а не даты в числовом формате.

Способ 5: VBA-макрос для пакетной обработки

Если вам нужно регулярно преобразовывать даты в числа (или наоборот) в больших таблицах, имеет смысл автоматизировать процесс с помощью VBA. Ниже приведён макрос, который заменяет все даты в выделенном диапазоне на числа в формате ГГГГММДД:

Sub ConvertDatesToNumbers()

Dim cell As Range

For Each cell In Selection

If IsDate(cell.Value) Then

cell.Value = Format(cell.Value, "yyyymmdd")

cell.NumberFormat = "0" ' Числовой формат

End If

Next cell

End Sub

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

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите диапазон с датами в Excel.
  4. Запустите макрос (F5 или Выполнить → Run Sub/UserForm).

Этот макрос необратимо заменяет даты на числа! Если вам нужно сохранить исходные данные, сначала создайте резервную копию.

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если ваш файл имеет формат .xlsx, сохраните его как Книга Excel с поддержкой макросов.
Что делать, если макрос не работает?

Убедитесь, что в настройках Excel включена поддержка макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов → Включить все макросы).

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

Если Excel выдаёт ошибку при запуске, возможно, отключены надстройки Visual Basic for Applications (переустановите Office или восстановите компоненты через Панель управления → Программы и компоненты).

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

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

1. Даты отображаются как ####

Это происходит, когда ширина столбца слишком мала для отображения числа. Решение: расширьте столбец или примените формат с меньшим количеством знаков (например, 0 вместо 0.00).

2. После преобразования числа округляются

Если вы используете формулу =ТЕКСТ(), результат будет текстом, а не числом. Чтобы избежать округления при дальнейших расчётах, используйте двойной унарный минус: =--ТЕКСТ(A1;"yyyymmdd").

3. Даты из внешних источников не распознаются

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

=ДАТАЗНАЧ(A1)

Затем примените нужный числовой формат.

4. Неправильный порядок дня и месяца

Excel может путать ДД.ММ.ГГГГ и ММ.ДД.ГГГГ, особенно при импорте данных. Чтобы избежать ошибок, используйте явное указание форматов:

=ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1))

FAQ: Ответы на частые вопросы

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

Да, если число представляет количество дней с 1900 года (например, 45066), просто примените к ячейке формат Дата. Если число в формате ГГГГММДД (например, 20230515), используйте формулу:

=ДАТА(ЛЕВСИМВ(A1;4);ПСТР(A1;5;2);ПСТР(A1;7;2))

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

Это происходит из-за различия в системах дат: Excel для Windows считает дни с 1900 года, а для Mac — с 1904. Чтобы исправить, добавьте или вычтите 1462 дня (разница между системами). Также проверьте региональные настройки.

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

Используйте формулу:

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

где A1 — ячейка с датой. Для отображения в формате "2023-Q2" используйте:

=ГОД(A1)&"-Q"&ОКРВВЕРХ(МЕСЯЦ(A1)/3;0)

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

Да, если вы используете формулы (например, =ТЕКСТ(A1;"yyyymmdd")). Числа будут обновляться автоматически при изменении исходной даты. Если вам нужны статичные значения, используйте Специальную вставку (способ 4).

Как преобразовать время в число?

Время в Excel хранится как дробная часть дня (например, 12:00 = 0.5). Чтобы получить количество часов, минут или секунд, используйте:

=A1*24  ' часы

=A1*24*60 ' минуты

=A1*24*60*60 ' секунды