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

В Microsoft Excel даты и время хранятся как числовые значения, где целая часть отвечает за дату, а дробная — за время. Эта особенность часто приводит к тому, что при импорте данных из внешних источников (баз данных, CSV-файлов или корпоративных систем) в ячейках появляются комбинации вида 15.05.2026 14:30:45, хотя пользователю нужна только дата. Проблема усложняется тем, что стандартное форматирование не всегда решает задачу: время может оставаться скрытым, но продолжать влиять на сортировку, фильтрацию и вычисления.

Эта статья охватывает все актуальные способы удаления времени из ячеек — от элементарного изменения формата до автоматизации через Power Query и VBA. Мы разберём, когда достаточно визуального скрытия времени, а когда требуется физическое удаление дробной части числа. Особое внимание уделено нюансам работы с разными версиями Excel (2010–2026) и альтернативами вроде Google Sheets или LibreOffice Calc.

Почему в Excel появляется время вместе с датой?

Корень проблемы кроется в внутреннем представлении дат в Excel. Программа хранит их как количество дней, прошедших с 1 января 1900 года (в Windows) или 1904 года (в Mac). Например:

  • 📅 15.05.2026 00:00:00 = число 45415 (целая часть)
  • 15.05.2026 12:00:00 = число 45415.5 (дробная часть = 0.5 дня)

При импорте данных из внешних систем (например, , SQL-баз или лог-файлов) Excel автоматически преобразует строки в дату+время, если распознаёт формат. Даже копирование из веб-таблиц или Google Analytics может привести к такому результату. Главная ловушка: время остаётся даже после изменения формата ячейки на Дата — оно просто становится невидимым, но продолжает участвовать в вычислениях.

📊 Как часто вы сталкиваетесь с лишним временем в датах Excel?
Постоянно
Иногда
Редико
Никогда

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

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

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

⚠️ Внимание: При таком подходе время остаётся в данных. Это проявится при:

  • 🔍 Сортировке (ячейки с временем будут группироваться отдельно)
  • 📊 Построении сводных таблиц
  • 🔄 Использовании в формулах (например, ДЕНЬНЕД(A1) может дать неверный результат)

Способ 2: Функция ЦЕЛОЕ() — удаление времени формулой

Функция ЦЕЛОЕ() отсекает дробную часть числа, оставляя только целую — то есть дату без времени. Синтаксис:

=ЦЕЛОЕ(A1)

Пример: если в A1 содержится 15.05.2026 14:30 (числовое значение 45415.60417), формула вернёт 45415, что соответствует 15.05.2026 00:00. После этого можно применить формат Дата к результату.

🔹 Плюсы: физически удаляет время, подходит для динамических данных.

⚠️ Минусы: требует дополнительного столбца. Чтобы заменить исходные данные, придётся использовать Специальную вставку (см. способ 4).

Как работает ЦЕЛОЕ() с отрицательными датами?

В Excel даты до 1900 года (отрицательные числа) обрабатываются некорректно. Функция ЦЕЛОЕ() вернёт ошибку #ЧИСЛО! для таких случаев.

Способ 3: Функции ДАТА(), ГОД(), МЕСЯЦ(), ДЕНЬ()

Если нужно не просто убрать время, но и гарантированно получить "чистую" дату (например, для дальнейших расчётов), используйте комбинацию:

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

Эта формула:

  1. Извлекает год, месяц и день из исходной ячейки.
  2. Собирает их обратно в дату без времени.

🔹 Когда это необходимо:

  • 📅 Работа с историческими датами (до 1900 года)
  • 🔄 Объединение данных из разных источников с разными форматами
  • 🛡️ Защита от ошибок при импорте (например, если время записано как текст)
МетодФормулаСохраняет время?Подходит для динамических данных
Форматирование✅ Да (скрыто)✅ Да
ЦЕЛОЕ()=ЦЕЛОЕ(A1)❌ Нет✅ Да
ДАТА()+ГОД/МЕСЯЦ/ДЕНЬ=ДАТА(ГОД(A1);...)❌ Нет✅ Да
Текст в дату=ДАТАЗНАЧ(ЛЕВСИМВ(A1;10))❌ Нет⚠️ Только если формат стабилен

Способ 4: Замена данных через "Специальную вставку"

Если вы использовали формулу (например, ЦЕЛОЕ()) и хотите заменить исходные данные результатами, выполните:

  1. Введите формулу в соседнем столбце (например, =ЦЕЛОЕ(A1) в B1).
  2. Скопируйте ячейки с формулами (Ctrl+C).
  3. Выделите исходный диапазон (A1:A100).
  4. Правая кнопка → Специальная вставкаЗначенияОК.

⚠️ Внимание: После этой операции исходные данные с временем будут безвозвратно удалены. Если потребуется откат, используйте Ctrl+Z немедленно или сохраните резервную копию файла.

☑️ Проверка перед заменой данных

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

Способ 5: Power Query — очистка при импорте

Если данные импортируются из внешнего источника (CSV, SQL, XML), удобнее удалить время на этапе загрузки через Power Query:

  1. Перейдите на вкладку ДанныеПолучить данные → выберите источник.
  2. В окне Power Query выделите столбец с датами.
  3. На вкладке Преобразование выберите Дата/времяДата.
  4. Нажмите Закрыть и загрузить.

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

  • 🔄 Автоматически применяется при каждом обновлении данных
  • 📂 Не требует формул в самой таблице
  • 🛠️ Можно комбинировать с другими преобразованиями (замена текста, фильтрация)

⚠️ Ограничение: В Excel 2010–2013 Power Query доступен как надстройка Power BI, в 2016+ — встроен по умолчанию.

Способ 6: VBA-макрос для массовой обработки

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

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

Dim rng As Range

For Each rng In Selection

If IsDate(rng.Value) Then

rng.Value = Int(rng.Value)

rng.NumberFormat = "dd.mm.yyyy"

End If

Next rng

End Sub

🔹 Как применять:

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

⚠️ Внимание: Макрос безвозвратно заменяет данные. Перед запуском:

  • 💾 Сохраните файл с расширением .xlsm (включает поддержку макросов)
  • 🔒 Убедитесь, что в выделенном диапазоне нет важных формул

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

Даже опытные пользователи сталкиваются с проблемами при очистке дат. Рассмотрим типичные сценарии:

🔴 Ошибка #1: Дата превращается в ###### после удаления времени.

⚠️ Внимание: Это означает, что ширина столбца недостаточна для отображения нового формата. Растяните столбец или примените формат Краткий формат даты.

🔴 Ошибка #2: Формула ЦЕЛОЕ() возвращает #ЗНАЧ!.

🔹 Причина: В ячейке не число, а текст (например, "15.05.2026 14:30" как строка). Решение: используйте =ДАТАЗНАЧ(ЛЕВСИМВ(A1;10)).

🔴 Ошибка #3: После специальной вставки даты сбиваются на 4 года.

🔹 Причина: В настройках Excel включён параметр Система дат 1904 (Mac). Чтобы исправить:

  1. Перейдите в Файл → Параметры → Дополнительно.
  2. Снимите флажок Использовать систему дат 1904.
  3. Перезагрузите Excel.

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

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

Да, но только через Power Query (способ 5) или VBA (способ 6). Обычное форматирование (способ 1) лишь скрывает время, а не удаляет его.

Почему после применения ЦЕЛОЕ() дата сдвигается на день назад?

Это происходит, если в ячейке было время 00:00:00, а Excel интерпретировал его как конец предыдущего дня. Проверьте исходные данные: возможно, там записано 14.05.2026 23:59:59, которое после ЦЕЛОЕ() становится 14.05.2026 00:00:00, но отображается как 13.05.2026 из-за временной зоны.

Как удалить время в Google Sheets?

В Google Таблицах используйте ту же функцию =ЦЕЛОЕ(A1) или =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)). Альтернатива — =INT(A1) (аналог ЦЕЛОЕ).

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

Нет, если вы применили Специальную вставку (способ 4) или макрос (способ 6). Единственный способ — отменить действие (Ctrl+Z) или восстановить данные из резервной копии.

Почему после импорта из CSV дата отображается как число (например, 45415)?

Excel распознал столбец как числовой, а не как дату. Решение: перед импортом в Power Query измените тип данных столбца на Дата/время или используйте формулу =ДАТАЗНАЧ("15.05.2026") для ручной конвертации.