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

Работаете с датами в Microsoft Excel и постоянно сталкиваетесь с проблемой, когда вместе с датой отображается ненужное время? Например, вместо 05.05.2026 вы видите 05.05.2026 00:00:00 или случайные часы-минуты? Эта ситуация не только портит внешний вид таблицы, но и усложняет анализ данных — сортировка работает некорректно, сводные таблицы группируют записи по времени, а не по датам, а функции вроде ДЕНЬНЕД могут выдавать ошибки.

В этой статье вы найдёте 5 проверенных способов убрать время из даты в Excel — от простого изменения формата до продвинутых формул и макросов. Мы разберём, какой метод лучше использовать в зависимости от вашей задачи: нужно ли сохранить исходные данные, обработать тысячи строк или автоматизировать процесс для регулярных отчётов. Все инструкции актуальны для Excel 2010–2023 и Microsoft 365, включая веб-версию.

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

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

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

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

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

Плюсы: мгновенный результат, не требует формул, исходные данные остаются неизменными.

Минусы: время всё ещё хранится в ячейке и может проявиться при экспорте или использовании в формулах.

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

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

Топ-3 формулы для разных задач:

  • 📅 ЦЕЛОЕ() — отсекает дробную часть (время):
    =ЦЕЛОЕ(A1)

    Работает, потому что в Excel даты хранятся как числа (целая часть — дата, дробная — время).

  • 🔄 ДАТАГОД()/ДАТАМЕСЯЦ()/ДЕНЬ() — извлекает компоненты даты и собирает заново:
    =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1))

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

  • ⏱️ ОТБР() — альтернатива ЦЕЛОЕ() для усечения:
    =ОТБР(A1)

    Отличается от ЦЕЛОЕ() только обработкой отрицательных чисел (актуально для дат до 1900 года).

💡 Совет: если после применения формулы результат отображается как число (например, 45341), снова измените формат ячейки на Дата.

📊 Какой способ удаления времени вы используете чаще?
Изменяю формат ячейки
Применяю формулы
Использую "Текст по столбцам"
Пишу макросы
Не знал, что это возможно

3. Преобразование в текст с удалением времени

Иногда даты с временем поступают в Excel как текст (например, при импорте из CSV или баз данных). В этом случае стандартные формулы могут не сработать. Вот как очистить такие данные:

Метод 1: "Текст по столбцам"

  1. Выделите столбец с датами.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. На шаге 1 выберите С разделителямиДалее.
  4. На шаге 2 снимите все галочки с разделителей (запятая, табуляция и т.д.) → Далее.
  5. На шаге 3 выберите формат столбца Дата: ДМГ (или другой подходящий) → Готово.

Метод 2: Формулы для текста

Если дата в текстовом формате (например, "05.05.2026 14:30:00"), используйте:

=ДАТАЗНАЧ(ЛЕВСИМВ(A1;10))

Эта формула берёт первые 10 символов (дату) и преобразует их в формат даты Excel.

Почему "Текст по столбцам" иногда не работает?

Если исходные данные содержат нестандартные разделители (например, "05/05/2026 14:30 PM"), инструмент может неправильно распознать формат. В таких случаях предварительно замените разделители на стандартные через НАЙТИ/ЗАМЕНИТЬ (Ctrl+H).

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 → выберите УдалитьВремяИзДатВыполнить).

⚠️

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

Критическая деталь: если в выделенном диапазоне есть пустые ячейки или текст, макрос их пропустит. Но если ячейка содержит ошибку (например, #ЗНАЧ!), выполнение прервётся. Чтобы избежать этого, добавьте перед циклом строку On Error Resume Next.

5. Power Query: обработка больших данных

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

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

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

📊 Преимущества метода:

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

☑️ Подготовка данных перед удалением времени

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

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

Чтобы определить оптимальный способ, ответьте на два вопроса:

  1. Нужно ли сохранить исходные данные с временем? Если да — используйте форматирование или создайте новый столбец с формулами.
  2. Как часто вы выполняете эту операцию? Для разовых задач хватит ручных методов, для регулярных — настройте Power Query или макрос.

Сводная таблица по методам:

Метод Сохраняет исходные данные Требует формул/макросов Подходит для больших данных Скорость выполнения
Форматирование ячеек ✅ Да ❌ Нет ✅ Да ⚡ Мгновенно
Формулы (ЦЕЛОЕ(), ДАТА()) ✅ Да (в новом столбце) ✅ Да ✅ Да ⚡ Быстро
"Текст по столбцам" ❌ Нет (заменяет данные) ❌ Нет ⚠️ Ограничено 🐢 Медленно для 100K+ строк
Макросы (VBA) ❌ Нет (заменяет данные) ✅ Да ✅ Да ⚡ Быстро
Power Query ✅ Да (в новом листе) ❌ Нет ✅ Да (оптимально) ⚡ Быстро

🔍 Пример из практики: если вы готовите отчёт по продажам, где даты приходят из с временем (05.05.2026 18:23:45), лучший вариант — Power Query. Он автоматически обновит данные при следующем импорте, не ломая связи.

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

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

  • Ошибка #ЗНАЧ! при использовании ДАТАЗНАЧ(): возникает, если ячейка содержит текст в нераспознаваемом формате (например, "May 5, 2026" вместо "05.05.2026"). Решение: сначала приведите данные к стандартному виду через ЗАМЕНИТЬ() или ПОДСТАВИТЬ().
  • Дата превращается в число: это значит, что ячейка отформатирована как Общий или Числовой. Исправьте формат на Дата.
  • Макрос не работает с датами до 1900 года: Excel не поддерживает даты раньше 01.01.1900. Для исторических данных используйте текстовый формат.

⚠️

⚠️ Внимание: если вы экспортируете данные с "спрятанным" временем (через форматирование) в CSV или SQL, время может снова проявиться! Чтобы этого избежать, предварительно примените формулу =ЦЕЛОЕ(A1) и скопируйте результаты как Значения (Правка → Специальная вставка → Значения).

🛠️ Диагностика проблем: если ни один метод не сработал, проверьте:

  1. Является ли содержимое ячейки действительно датой? Выделите её и посмотрите на строку формул — если там текст (например, '05.05.2026 с апострофом), сначала преобразуйте его в дату.
  2. Нет ли в данных скрытых символов? Используйте =КОДСИМВ(ЛЕВСИМВ(A1;1)), чтобы проверить первый символ — если это не цифра, очистите данные через СЖПРОБЕЛЫ().

FAQ: Частые вопросы

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

Да, но с оговорками:

  • Если достаточно скрыть время — измените формат ячейки.
  • Если нужно удалить время физически — используйте макрос или НАЙТИ/ЗАМЕНИТЬ (Ctrl+H): замените * (пробел и звёздочка) на пусто (работает только для текстового формата).

⚠️ Оба метода изменяют исходные данные — сделайте резервную копию!

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

Это происходит из-за ошибок округления или неверного формата исходной ячейки. Проверьте:

  1. Что ячейка A1 действительно содержит дату (в строке формул не должно быть текста или ошибок).
  2. Что в настройках Excel ( Файл → Параметры → Дополнительно ) не установлена галочка Использовать систему дат 1904 (актуально для файлов из Mac).

Если проблема остаётся, используйте альтернативную формулу: =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)).

Как убрать время из даты в сводной таблице?

Сводные таблицы группируют данные по полному значению (дата + время). Чтобы исправить:

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

💡 Бонус: если сводная таблица уже создана, кликните правой кнопкой по полю даты → Группировка → выберите Дни (это игнорирует время).

Возможно ли удалить время из даты в Google Таблицах?

Да, методы аналогичны Excel, но с нюансами:

  • 📌 Форматирование: Формат → Число → Дата.
  • 📌 Формулы: работают =ЦЕЛОЕ(A1), =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)), но вместо ДАТАЗНАЧ() используйте =ДАТАЗНАЧ(РЕГВЫРАЖ(A1; "(\d+\.\d+\.\d+)")) для текста.
  • 📌 Скрипты: вместо VBA пишутся на Google Apps Script.

⚠️ В Google Таблицах даты хранятся как миллисекунды с 1970 года, но для пользователя разница не заметна.

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

Если вы регулярно импортируете данные с временем (например, из MySQL или API), настройте автоматическую обработку:

  1. Power Query: создайте запрос с шагом преобразования даты (как описано в разделе 5). Сохраните запрос и обновляйте данные одним кликом.
  2. VBA: напишите макрос, который запускается при открытии файла (Workbook_Open) или по кнопке.
  3. На уровне источника: если вы контролируете экспорт данных, настройте формат даты без времени непосредственно в SQL-запросе или API (например, DATE_FORMAT(column, '%Y-%m-%d') в MySQL).