Работаете с датами в Microsoft Excel и постоянно сталкиваетесь с проблемой, когда вместе с датой отображается ненужное время? Например, вместо 05.05.2026 вы видите 05.05.2026 00:00:00 или случайные часы-минуты? Эта ситуация не только портит внешний вид таблицы, но и усложняет анализ данных — сортировка работает некорректно, сводные таблицы группируют записи по времени, а не по датам, а функции вроде ДЕНЬНЕД могут выдавать ошибки.
В этой статье вы найдёте 5 проверенных способов убрать время из даты в Excel — от простого изменения формата до продвинутых формул и макросов. Мы разберём, какой метод лучше использовать в зависимости от вашей задачи: нужно ли сохранить исходные данные, обработать тысячи строк или автоматизировать процесс для регулярных отчётов. Все инструкции актуальны для Excel 2010–2023 и Microsoft 365, включая веб-версию.
⚠️ Важно: перед применением любых изменений сделайте резервную копию файла — особенно если работаете с формулами или макросами. Некоторые методы (например, преобразование в текст) могут привести к потере функциональности дат в дальнейших вычислениях.
1. Самый быстрый способ: изменение формата ячейки
Если вам нужно просто скрыть время при отображении, но сохранить его в исходных данных (например, для внутренних расчётов), достаточно изменить формат ячейки. Этот метод не удаляет время физически, а лишь маскирует его.
Как это работает:
- Выделите ячейки или столбец с датами, где отображается время.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте сочетаниеCtrl+1). - В открывшемся окне перейдите на вкладку
Число→Дата. - Выберите формат без времени, например
14.03.2012или14 марта 2012 г..
✅ Плюсы: мгновенный результат, не требует формул, исходные данные остаются неизменными.
❌ Минусы: время всё ещё хранится в ячейке и может проявиться при экспорте или использовании в формулах.
2. Формулы для извлечения только даты
Когда требуется полностью удалить время и оставить только дату (например, для дальнейших вычислений), используйте формулы. Они создают новую ячейку с "чистой" датой, не затрагивая исходные данные.
Топ-3 формулы для разных задач:
- 📅 ЦЕЛОЕ() — отсекает дробную часть (время):
=ЦЕЛОЕ(A1)Работает, потому что в Excel даты хранятся как числа (целая часть — дата, дробная — время).
- 🔄 ДАТАГОД()/ДАТАМЕСЯЦ()/ДЕНЬ() — извлекает компоненты даты и собирает заново:
=ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1))Полезно, если нужно гарантированно убрать миллисекунды или избежать ошибок округления.
- ⏱️ ОТБР() — альтернатива
ЦЕЛОЕ()для усечения:
=ОТБР(A1)Отличается от
ЦЕЛОЕ()только обработкой отрицательных чисел (актуально для дат до 1900 года).
💡 Совет: если после применения формулы результат отображается как число (например, 45341), снова измените формат ячейки на Дата.
3. Преобразование в текст с удалением времени
Иногда даты с временем поступают в Excel как текст (например, при импорте из CSV или баз данных). В этом случае стандартные формулы могут не сработать. Вот как очистить такие данные:
Метод 1: "Текст по столбцам"
- Выделите столбец с датами.
- Перейдите на вкладку
Данные→Текст по столбцам. - На шаге 1 выберите
С разделителями→Далее. - На шаге 2 снимите все галочки с разделителей (запятая, табуляция и т.д.) →
Далее. - На шаге 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
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите ячейки с датами и запустите макрос (
Alt+F8→ выберитеУдалитьВремяИзДат→Выполнить).
⚠️
⚠️ Внимание: макрос заменяет исходные данные без возможности отмены (Ctrl+Z не сработает). Перед запуском сохраните файл или создайте копию листа.
Критическая деталь: если в выделенном диапазоне есть пустые ячейки или текст, макрос их пропустит. Но если ячейка содержит ошибку (например, #ЗНАЧ!), выполнение прервётся. Чтобы избежать этого, добавьте перед циклом строку On Error Resume Next.
5. Power Query: обработка больших данных
Для работы с тысячами строк (например, при импорте из SQL или JSON) удобно использовать Power Query — инструмент Excel для преобразования данных. Он позволяет удалить время без формул и макросов, сохраняя связь с источником.
Пошаговая инструкция:
- Выделите таблицу с датами и нажмите
Данные → Из таблицы/диапазона(илиДанные → Получить данные → Из других источников). - В открывшемся редакторе Power Query выделите столбец с датами.
- Перейдите на вкладку
Преобразовать→Дата/время→Дата. - Нажмите
Закрыть и загрузить, чтобы применить изменения.
📊 Преимущества метода:
- 🔄 Автоматически обновляется при изменении исходных данных.
- 📈 Не перегружает файл формулами.
- 🛠️ Позволяет комбинировать с другими преобразованиями (например, разделить дату на день/месяц/год).
☑️ Подготовка данных перед удалением времени
Сравнение методов: какой выбрать?
Чтобы определить оптимальный способ, ответьте на два вопроса:
- Нужно ли сохранить исходные данные с временем? Если да — используйте форматирование или создайте новый столбец с формулами.
- Как часто вы выполняете эту операцию? Для разовых задач хватит ручных методов, для регулярных — настройте Power Query или макрос.
Сводная таблица по методам:
| Метод | Сохраняет исходные данные | Требует формул/макросов | Подходит для больших данных | Скорость выполнения |
|---|---|---|---|---|
| Форматирование ячеек | ✅ Да | ❌ Нет | ✅ Да | ⚡ Мгновенно |
Формулы (ЦЕЛОЕ(), ДАТА()) |
✅ Да (в новом столбце) | ✅ Да | ✅ Да | ⚡ Быстро |
| "Текст по столбцам" | ❌ Нет (заменяет данные) | ❌ Нет | ⚠️ Ограничено | 🐢 Медленно для 100K+ строк |
| Макросы (VBA) | ❌ Нет (заменяет данные) | ✅ Да | ✅ Да | ⚡ Быстро |
| Power Query | ✅ Да (в новом листе) | ❌ Нет | ✅ Да (оптимально) | ⚡ Быстро |
🔍 Пример из практики: если вы готовите отчёт по продажам, где даты приходят из 1С с временем (05.05.2026 18:23:45), лучший вариант — Power Query. Он автоматически обновит данные при следующем импорте, не ломая связи.
Типичные ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с проблемами при работе с датами. Вот самые распространённые ловушки:
- ❌ Ошибка #ЗНАЧ! при использовании
ДАТАЗНАЧ(): возникает, если ячейка содержит текст в нераспознаваемом формате (например,"May 5, 2026"вместо"05.05.2026"). Решение: сначала приведите данные к стандартному виду черезЗАМЕНИТЬ()илиПОДСТАВИТЬ(). - ❌ Дата превращается в число: это значит, что ячейка отформатирована как
ОбщийилиЧисловой. Исправьте формат наДата. - ❌ Макрос не работает с датами до 1900 года: Excel не поддерживает даты раньше 01.01.1900. Для исторических данных используйте текстовый формат.
⚠️
⚠️ Внимание: если вы экспортируете данные с "спрятанным" временем (через форматирование) в CSV или SQL, время может снова проявиться! Чтобы этого избежать, предварительно примените формулу=ЦЕЛОЕ(A1)и скопируйте результаты какЗначения(Правка → Специальная вставка → Значения).
🛠️ Диагностика проблем: если ни один метод не сработал, проверьте:
- Является ли содержимое ячейки действительно датой? Выделите её и посмотрите на строку формул — если там текст (например,
'05.05.2026с апострофом), сначала преобразуйте его в дату. - Нет ли в данных скрытых символов? Используйте
=КОДСИМВ(ЛЕВСИМВ(A1;1)), чтобы проверить первый символ — если это не цифра, очистите данные черезСЖПРОБЕЛЫ().
FAQ: Частые вопросы
Можно ли убрать время из даты без создания нового столбца?
Да, но с оговорками:
- Если достаточно скрыть время — измените формат ячейки.
- Если нужно удалить время физически — используйте макрос или
НАЙТИ/ЗАМЕНИТЬ(Ctrl+H): замените*(пробел и звёздочка) на пусто (работает только для текстового формата).
⚠️ Оба метода изменяют исходные данные — сделайте резервную копию!
Почему после применения =ЦЕЛОЕ(A1) дата сдвигается на 1 день?
Это происходит из-за ошибок округления или неверного формата исходной ячейки. Проверьте:
- Что ячейка
A1действительно содержит дату (в строке формул не должно быть текста или ошибок). - Что в настройках Excel (
Файл → Параметры → Дополнительно) не установлена галочкаИспользовать систему дат 1904(актуально для файлов из Mac).
Если проблема остаётся, используйте альтернативную формулу: =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)).
Как убрать время из даты в сводной таблице?
Сводные таблицы группируют данные по полному значению (дата + время). Чтобы исправить:
- Добавьте в исходные данные новый столбец с формулой
=ЦЕЛОЕ([@Дата])(гдеДата— имя вашего столбца). - Обновите сводную таблицу и используйте новый столбец для группировки.
- Либо измените источник данных сводной таблицы через Power Query, удалив время на этапе импорта.
💡 Бонус: если сводная таблица уже создана, кликните правой кнопкой по полю даты → Группировка → выберите Дни (это игнорирует время).
Возможно ли удалить время из даты в Google Таблицах?
Да, методы аналогичны Excel, но с нюансами:
- 📌 Форматирование:
Формат → Число → Дата. - 📌 Формулы: работают
=ЦЕЛОЕ(A1),=ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)), но вместоДАТАЗНАЧ()используйте=ДАТАЗНАЧ(РЕГВЫРАЖ(A1; "(\d+\.\d+\.\d+)"))для текста. - 📌 Скрипты: вместо VBA пишутся на Google Apps Script.
⚠️ В Google Таблицах даты хранятся как миллисекунды с 1970 года, но для пользователя разница не заметна.
Как автоматизировать удаление времени при импорте данных?
Если вы регулярно импортируете данные с временем (например, из MySQL или API), настройте автоматическую обработку:
- Power Query: создайте запрос с шагом преобразования даты (как описано в разделе 5). Сохраните запрос и обновляйте данные одним кликом.
- VBA: напишите макрос, который запускается при открытии файла (
Workbook_Open) или по кнопке. - На уровне источника: если вы контролируете экспорт данных, настройте формат даты без времени непосредственно в SQL-запросе или API (например,
DATE_FORMAT(column, '%Y-%m-%d')в MySQL).