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

Работа с датами и временем в Microsoft Excel — одна из самых востребованных задач среди пользователей. Часто данные поступают в таблицы в формате "дата + время", но для анализа или отчётности требуется только календарная дата без часов и минут. Например, при импорте логов с серверов, экспорте данных из 1С или баз данных, где временные метки фиксируются автоматически.

Многие пользователи пытаются вручную удалять время, редактируя каждую ячейку, но это неэффективно при больших объёмах данных. К счастью, в Excel есть как минимум 5 способов автоматически извлечь дату из комбинированного формата — от простого изменения формата ячейки до использования Power Query или VBA. В этой статье разберём каждый метод с примерами, нюансами и рекомендациями по выбору оптимального решения для вашей задачи.

Если вы работаете с Excel 2016 и новее, у вас есть доступ к современным инструментам вроде Power Query, которые упрощают преобразование данных. Владельцам старых версий (Excel 2010–2013) придётся полагаться на формулы или макросы. Но независимо от версии, решение всегда найдётся — главное, понять логику хранения дат в Excel.

Например, значение 45342,75 соответствует 1 марта 2026 года, 18:00. Это знание поможет понять, почему некоторые методы работают именно так, а не иначе.

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

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

Как это работает:

  1. Выделите ячейки или столбец с датами и временем.
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек.. (или используйте сочетание Ctrl+1).
  3. В открывшемся окне перейдите на вкладку ЧислоДата.
  4. Выберите формат без времени, например: 14.03.2012 или 14 марта 2012 г..

Плюсы метода:

  • 🔹 Мгновенный результат — не требует формул или скриптов.
  • 🔹 Обратимость: исходные данные с временем сохраняются.
  • 🔹 Работает во всех версиях Excel, включая Excel Online.

Минусы:

  • ⏰ Время не удаляется, а только скрывается. Если использовать ячейку в формулах (например, =СУММ()), временная часть будет учитываться.
  • 📊 Не подходит для дальнейшей обработки данных, где важна точность (например, сводные таблицы).

2. Формулы для извлечения даты без времени

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

2.1. Функция ЦЕЛОЕ()

Самая популярная формула:

=ЦЕЛОЕ(A1)

Она отсекает дробную часть числа (время), оставляя только целую (дату). Например, если в A1 значение 45342,75 (1 марта 2026, 18:00), формула вернёт 45342 (1 марта 2026, 00:00).

⚠️ Внимание: Если в ячейке A1 текст (например, "01.03.2026 18:00"), формула вернёт ошибку #ЗНАЧ!. Сначала преобразуйте текст в дату с помощью =ЗНАЧЕН(A1).

2.2. Функция ДЕНЬ(), МЕСЯЦ(), ГОД()

Для гибкого форматирования подойдёт комбинация:

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

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

2.3. Функция ТЕКСТ() для строкового результата

Если нужна дата в виде текста (например, для отчётов), используйте:

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

Результат будет строкой ("01.03.2026"), а не числом. Это удобно для экспорта данных, но нельзя использовать такой результат в вычислениях.

Выделите ячейку с формулой и нажмите F9, чтобы убедиться, что результат корректный|

Убедитесь, что исходные данные — это даты, а не текст (проверьте выравнивание: даты выравниваются вправо, текст — влево)|

Примените формат ячейки "Дата" к результату формулы, если нужно|

Скопируйте формулу на весь столбец с помощью маркера автозаполнения-->

3. Power Query: мощный инструмент для больших данных

Если вы работаете с Excel 2016 и новее, Power Query (вкладка ДанныеПолучить данные) — лучший выбор для обработки больших массивов. Этот инструмент позволяет однократно настроить преобразование, а затем обновлять данные автоматически.

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

  1. Выделите исходный диапазон с датами и временем.
  2. Перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016–2019) или Получить данные → Из таблицы/диапазонаExcel 365).
  3. В открывшемся редакторе Power Query выделите столбец с датами.
  4. На вкладке Преобразовать выберите Дата/время → Дата.
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

  • 🔄 Автоматическое обновление: при изменении исходных данных достаточно нажать Обновить.
  • 📊 Поддерживает миллионы строк (в отличие от формул, которые тормозят на больших объёмах).
  • 🔧 Гибкость: можно комбинировать с другими преобразованиями (фильтрация, замена значений и т.д.).

⚠️ Внимание: После загрузки данных через Power Query они становятся статичными. Чтобы обновить их, используйте кнопку Обновить все на вкладке Данные.

Формулы|

Форматирование ячеек|

Power Query|

VBA-макросы|

Не знаю, что это-->

4. VBA-макрос для автоматизации

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

Sub УдалитьВремя()

Dim cell As Range

For Each cell In Selection

If IsDate(cell.Value) Then

cell.Value = Int(cell.Value)

cell.NumberFormat = "dd.mm.yyyy"

End If

Next cell

End Sub

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

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

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

🔹 Расширенный вариант: Чтобы макрос работал только с ячейками в формате даты/времени, добавьте проверку:

If cell.NumberFormat Like "м/д/гг" Or cell.NumberFormat Like "м/д/гг ч:мм" Then

5. Округление и усечение: альтернативные методы

Помимо ЦЕЛОЕ(), есть другие функции для удаления времени:

Метод Формула Пример результата Когда использовать
ОКРУГЛ() =ОКРУГЛ(A1; 0) 45342 (01.03.2026) Если нужно округлить до ближайшей даты (редко применимо).
УСЕЧ() =УСЕЧ(A1) 45342 (01.03.2026) Аналог ЦЕЛОЕ(), но работает с отрицательными числами.
ДАТАЗНАЧ() + ТЕКСТ() =ДАТАЗНАЧ(ТЕКСТ(A1;"дд.мм.гггг")) 45342 (01.03.2026) Если исходные данные — текст в формате "дд.мм.гггг чч:мм".

Критичный нюанс: функции ОКРУГЛ() и УСЕЧ() могут давать неожиданные результаты с отрицательными датами (до 1900 года). Для исторических данных используйте только ЦЕЛОЕ().

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

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

🔴 Ошибка #1: Формула возвращает #ЗНАЧ!

🔹 Причина: Ячейка содержит текст, а не дату. Например, значение "01.03.2026 18:00" (в кавычках) воспринимается как строка.

🔹 Решение: Преобразуйте текст в дату с помощью =ЗНАЧЕН(A1) или Текст по столбцам (вкладка Данные).

🔴 Ошибка #2: Дата сбивается на 4 года (например, 1905 вместо 2005)

🔹 Причина: Excel путает форматы дат (например, воспринимает 01.03.2026 как 1 марта 1924).

🔹 Решение: Явно укажите формат при импорте данных или используйте =ДАТАЗНАЧ(ПРАВСИМВ(A1;4); СРЗНАЧ(А1;4;2); ЛЕВСИМВ(A1;2)) для текста в формате ДД.ММ.ГГГГ.

🔴 Ошибка #3: После копирования формул даты превращаются в числа

🔹 Причина: Скопированы только значения, а не формулы (например, через Специальная вставка → Значения).

🔹 Решение: Примените формат Дата к ячейкам с числами или повторите вставку формул.

Почему Excel хранит даты как числа?

В Excel дата "1 января 1900 года" соответствует числу 1, а каждое последующее число — это количество дней с этой даты. Например, 45342 — это 1 марта 2026 года (45342 дня после 01.01.1900). Временная часть хранится как дробь: 0,5 — это 12:00, 0,75 — 18:00 и т.д. Этот подход позволяет легко выполнять арифметические операции с датами (например, вычитать одну дату из другой, чтобы получить разницу в днях).

7. Сравнение методов: какой выбрать?

Выбор способа зависит от задачи:

  • 📅 Нужно быстро скрыть времяФорматирование ячеек.
  • 📊 Нужна чистая дата для расчётовФормула ЦЕЛОЕ().
  • 🔄 Работаете с большими даннымиPower Query.
  • 🤖 Нужно автоматизировать процессVBA-макрос.
  • 📄 Нужна дата в текстовом форматеФункция ТЕКСТ().

📌 Рекомендация для новичков: Начните с формулы =ЦЕЛОЕ(A1) — она проста и работает во всех версиях Excel. Если данных много, освойте Power Query — это сэкономит часы ручной работы.

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

Можно ли удалить время без формул, чтобы исходные данные изменились?

Да, есть два способа:

  1. Скопируйте столбец с датами, затем используйте Специальная вставка → Значения в тот же столбец после применения формулы =ЦЕЛОЕ().
  2. Используйте Power Query или VBA-макрос (см. разделы выше).

⚠️ Оба метода заменяют исходные данные — убедитесь, что у вас есть резервная копия.

Почему после применения ЦЕЛОЕ() дата отображается как число (например, 45342)?

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

  1. Выделите ячейки.
  2. Нажмите Ctrl+1.
  3. Выберите категорию Дата и нужный формат (например, 14.03.2012).
Как удалить время из даты в Google Таблицах?

В Google Sheets используйте те же принципы:

  • Формула: =ЦЕЛОЕ(A1) или =INT(A1).
  • Форматирование: Формат → Числа → Дата.
  • Для текстового формата: =ТЕКСТ(A1; "dd.mm.yyyy").

⚠️ В Google Sheets нет Power Query, но есть аналогичный инструмент — Apps Script (аналог VBA).

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

Если вы использовали форматирование ячеек — да, время сохранилось в данных. Если применили ЦЕЛОЕ() или Power Query — нет, временная часть безвозвратно утрачена.

🔹 Совет: Всегда сохраняйте оригинальный столбец с датой и временем, пока не убедитесь, что он больше не нужен.

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

Сводные таблицы в Excel могут воспринимать даты с временем как уникальные значения (например, 01.03.2026 08:00 и 01.03.2026 09:00 будут разными группами).

🔹 Решение:

  1. Добавьте в исходные данные новый столбец с формулой =ЦЕЛОЕ([@Дата]).
  2. Используйте этот столбец для группировки в сводной таблице.