Почему Excel показывает время вместе с датой и как это исправить
Вы открыли файл Excel, а вместо аккуратных дат вроде 15.05.2026 видите 15.05.2026 00:00:00? Или после импорта данных из базы в ячейках появились лишние часы и секунды? Это типичная проблема, с которой сталкиваются и новички, и опытные пользователи. Дело в том, что Excel хранит даты и время как числа — где целая часть отвечает за дату, а дробная за время. Например, 45456,25 для программы означает "15 мая 2026 года, 6:00 утра".
Лишнее время не только портит внешний вид таблицы, но и мешает сортировке, фильтрации или построению графиков. К счастью, есть минимум 5 способов убрать его — от простого изменения формата до использования формул и макросов. В этой статье разберём каждый метод с пошаговыми инструкциями, нюансами и примерами для разных версий Excel (2010—2026) и Office 365.
Прежде чем приступать, проверьте, какой именно формат данных в ваших ячейках. Для этого выделите проблемную область и посмотрите на панель инструментов в разделе Главная → Числовой формат. Если там указан Дата или Общий, но отображается время — значит, данные хранятся как "дата+время", и их нужно преобразовать.
Способ 1: Изменение формата ячейки (самый быстрый метод)
Если время в ячейках — это просто артефакт отображения (например, после импорта из 1С или SQL), достаточно поменять формат. Этот способ не меняет сами данные, а только маскирует ненужную часть.
Как убрать время через форматирование:
- Выделите ячейки или столбец с датами.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте сочетаниеCtrl+1). - В открывшемся окне перейдите на вкладку
Число→Дата. - Выберите формат без времени, например
14.03.2012или14 марта 2012 г.. - Нажмите
ОК.
Если в списке нет подходящего варианта, создайте свой формат:
- В том же окне форматирования выберите
Все форматы. - В поле
Типвведитедд.мм.гггг(илиdd.mm.yyyyдля английской версии). - Нажмите
ОК.
☑️ Проверка перед форматированием
⚠️ Внимание: Этот метод работает только если время — часть формата отображения. Если данные изначально хранятся как текст (например, "15.05.2026 12:30" в кавычках), форматирование не поможет — нужно использовать другие способы.
Способ 2: Использование функции ЦЕЛОЕ() (для формул)
Когда время — это дробная часть числа (например, 45456,5 = 15.05.2026 12:00), его можно просто отбросить с помощью функции ЦЕЛОЕ(). Этот метод подходит, если вам нужно сохранить дату в новой ячейке без изменения оригинальных данных.
Формула:
=ЦЕЛОЕ(A1)
Где A1 — ячейка с исходной датой и временем.
Примеры:
- 📅 Исходное значение:
15.05.2026 14:30→ Результат:15.05.2026 - 📅 Исходное значение:
45456,75(внутренний формат Excel) → Результат:45456(что соответствует15.05.2026)
После применения формулы не забудьте отформатировать новую ячейку как Дата, иначе отобразится число (например, 45456 вместо 15.05.2026).
| Функция | Пример | Результат | Примечание |
|---|---|---|---|
ЦЕЛОЕ() |
=ЦЕЛОЕ(45456,75) |
45456 |
Отбрасывает дробную часть (время) |
ДЕНЬ() + МЕСЯЦ() + ГОД() |
=ДАТА(ГОД(A1);МЕСЯЦ(A1);ДЕНЬ(A1)) |
15.05.2026 |
Собирает дату заново без времени |
ТЕКСТ() |
=ТЕКСТ(A1;"дд.мм.гггг") |
"15.05.2026" |
Преобразует в текстовый формат |
⚠️ Внимание: ФункцияЦЕЛОЕ()округлит время вниз. Если в ячейке было15.05.2026 23:59, результат всё равно будет15.05.2026, а не16.05.2026. Для точного округления используйтеОКРВНИЗ().
Способ 3: Разделение даты и времени с помощью Текст по столбцам
Если дата и время записаны как текст в одном столбце (например, "15.05.2026 14:30"), можно разделить их с помощью встроенного инструмента Текст по столбцам. Этот метод полезен при импорте данных из внешних источников, где дата и время склеены в одну строку.
Пошаговая инструкция:
- Выделите столбец с данными.
- Перейдите на вкладку
Данные→Текст по столбцам. - В первом окне выберите
С разделителями→Далее. - Укажите разделитель (обычно это пробел или символ
Tв формате ISO 8601, например2026-05-15T14:30:00). - Нажмите
Готово.
После разделения дата и время окажутся в разных столбцах. Вам останется:
- 🗑️ Удалить столбец с временем (если он не нужен).
- 📅 Отформатировать столбец с датой как
Дата. - 🔄 При необходимости объединить данные обратно (например, если время всё же нужно, но в другом формате).
Что делать если разделитель нестандартный?
Если дата и время разделены не пробелом, а например запятой или двоеточием (15.05.2026,14:30), в окне "Текст по столбцам" на шаге 2 выберите Другой и введите нужный символ в поле. Для сложных форматов (например, с миллисекундами) может потребоваться предварительная замена символов через функцию ПОДСТАВИТЬ().
Способ 4: Формулы для извлечения только даты (ДАТА(), ЛЕВСИМВ())
Когда предыдущие методы не работают (например, данные хранятся как текст или в нестандартном формате), на помощь приходят формулы. Рассмотрим два варианта:
1. Для дат в числовом формате (с дробной частью):
=ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1))
Эта формула извлекает год, месяц и день из ячейки A1 и собирает их заново в дату без времени.
2. Для текстовых дат (например, "15.05.2026 14:30"):
=ЛЕВСИМВ(A1; 10)
Здесь 10 — количество символов в дате (дд.мм.гггг). Если формат другой (например, дд-мм-гггг), подстройте число под свою длину.
Продвинутый вариант (если формат непостоянный):
=ДАТАЗНАЧ(ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1))
Эта формула ищет первый пробел в строке и извлекает всё, что до него (предполагая, что дата идёт первой).
Способ 5: Макрос VBA для массового удаления времени
Если вам нужно обработать тысячи строк или регулярно очищать время в новых файлах, имеет смысл автоматизировать процесс с помощью макроса. Этот метод требует базовых знаний 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→ выберитеУбратьВремя→Выполнить.
Преимущества макроса:
- ⚡ Обрабатывает тысячи ячеек за секунды.
- 🔄 Сохраняет исходный формат даты.
- 📌 Работает даже с нестандартными форматами (если Excel распознаёт их как дату).
⚠️ Внимание: Перед запуском макроса обязательно сохраните файл и сделайте резервную копию данных. Макрос изменяет значения ячеек без возможности отмены (Ctrl+Z не сработает).
Частые ошибки и как их избежать
При удалении времени в Excel пользователи часто сталкиваются с неожиданными проблемами. Вот самые распространённые из них и способы решения:
1. Дата превращается в число (например, 45456 вместо 15.05.2026)
Причина: Ячейка отформатирована как Общий или Числовой.
Решение: Примените формат Дата (Ctrl+1 → Дата).
2. Формулы возвращают ошибку #ЗНАЧ!
Причина: Исходные данные — текст, а не дата (например, "15.05.2026" в кавычках).
Решение: Преобразуйте текст в дату с помощью ДАТАЗНАЧ():
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1; "."; "/"))
3. После разделения Текст по столбцам дата сбивается на 4-5 лет
Причина: Excel воспринял год как 2026, а не 1924 (типичная ошибка при импорте старых данных).
Решение: Вручную укажите правильный год в формуле или добавьте +2000 к результату.
4. Макрос не работает с некоторыми ячейками
Причина: Данные записаны как текст или в нестандартном формате (например, May 15, 2026).
Решение: Добавьте в макрос проверку на текст и преобразование:
If Not IsDate(cell.Value) Then
cell.Value = DateValue(Left(cell.Value; 10))
End If
FAQ: Ответы на частые вопросы
Можно ли убрать время без потери данных в оригинальных ячейках?
Да, если использовать новый столбец с формулами (например, =ЦЕЛОЕ(A1)) или форматирование (способ 1). Оригинальные данные останутся нетронутыми. Если нужно изменить сами ячейки, предварительно сделайте резервную копию (Ctrl+C → Вставить значения в другом месте).
Почему после импорта из CSV время отображается как 0:00:00?
Это особенность импорта: Excel распознаёт дату, но по умолчанию показывает и время. Решение: примените формат Дата без времени (способ 1) или используйте формулу =ЦЕЛОЕ(A1).
Как убрать время в Google Таблицах?
Алгоритм аналогичный: используйте Формат → Числа → Дата или формулу =ЦЕЛОЕ(A1). В Google Таблицах также есть функция =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)).
Можно ли удалить время из диапазона без формул?
Да, с помощью Найти и заменить (Ctrl+H):
- В поле
Найтивведите*(пробел и звёздочка). - Оставьте поле
Заменить напустым. - Нажмите
Заменить всё.
Это сработает, если дата и время разделены пробелом. После замены отформатируйте столбец как Дата.
Почему после удаления времени сортировка дат работает неправильно?
Скорее всего, данные стали текстовыми (например, после использования ЛЕВСИМВ()). Преобразуйте их обратно в даты с помощью ДАТАЗНАЧ() или примените формат Дата.