Если в ячейках Excel отображается дата вместе с временем (например, 15.05.2026 12:30:45), а вам нужно оставить только календарную часть, проблема решается за 1-2 клика. Чаще всего это происходит при импорте данных из внешних источников (баз данных, CSV-файлов) или при использовании функций вроде СЕГОДНЯ() или ТДАТА(), которые по умолчанию возвращают полный формат даты-времени. В 90% случаев достаточно изменить формат ячейки, но есть и другие методы — от простых формул до автоматизации через Power Query или VBA.
Важно понимать, что Excel хранит даты как числа (где целая часть — дата, дробная — время), поэтому простое удаление символов после пробела приведёт к ошибке. Например, если вы вручную замените 15.05.2026 12:30 на 15.05.2026, программа воспримет это как текст, а не как дату, и дальнейшие вычисления (сортировка, фильтры, формулы) перестанут работать. Ниже разберём все корректные способы — от базовых до продвинутых.
1. Самый быстрый способ: изменение формата ячейки
Это решение занимает менее 10 секунд и не требует формул. Подходит, если вам нужно только визуально скрыть время, сохранив его в исходных данных (например, для последующих расчётов).
Шаги:
- 📌 Выделите ячейки или столбец с датами (например,
A1:A100). - 🖱️ Кликните правой кнопкой и выберите
Формат ячеек...(или нажмитеCtrl+1). - 📅 Вкладка
Число→ категорияДата. - 🔍 Выберите формат без времени, например:
14.03.2012или14 марта 2012 г.. - ✅ Нажмите
ОК.
Если нужного формата нет в списке, создайте свой: в категории Дата выберите (все форматы) и введите в поле Тип: один из шаблонов:
- 📌
дд.мм.гггг→15.05.2026 - 📌
д мmmм гггг→15 мая 2026 - 📌
дд-мм-гг→15-05-24
⚠️ Внимание: Этот метод только маскирует время, но не удаляет его из внутреннего представления ячейки. Если позже вы отсортируете данные или примените формулы (например, ДЕНЬНЕД()), Excel будет учитывать исходное время.
2. Формулы для извлечения только даты
Если нужно полностью удалить время (а не просто скрыть его), используйте формулы. Они создадут новую ячейку с чистой датой, которую можно копировать как значения.
| Формула | Пример результата | Когда использовать |
|---|---|---|
=ЦЕЛОЕ(A1) |
15.05.2026 (если в A1 было 15.05.2026 12:30) |
Универсальный метод для всех версий Excel |
=ДАТАГОД(A1);ДАТАМЕС(A1);ДЕНЬ(A1) |
15.05.2026 |
Если нужно разложить дату на компоненты (год, месяц, день) |
=ОТБР(A1;10) |
15.05.2026 (работает только если формат даты дд.мм.гггг) |
Быстрое решение для текстового формата (не рекомендуется для вычислений) |
=ЗНАЧЕН(ЛЕВСИМВ(A1;10)) |
15.05.2026 |
Если дата хранится как текст (например, после импорта из CSV) |
Пример использования:
- В ячейке
B1введите формулу=ЦЕЛОЕ(A1). - Протяните формулу вниз за маркер автозаполнения.
- Скопируйте столбец
Bи вставьте какЗначения(правая кнопка →Специальная вставка → Значения). - Удалите столбец
A(если исходные данные больше не нужны).
⚠️ Внимание: Формула=ОТБР()работает только для дат в форматедд.мм.гггг. Если формат другой (например,15-Май-2026), используйте=ЦЕЛОЕ().
Ячейки содержат реальные даты (не текст)|Формат даты в исходных данных известен|Нужно сохранить возможность сортировки/фильтрации|Готовы создать новый столбец для результата-->
3. Power Query: удаление времени при импорте данных
Если вы часто импортируете данные с датами и временем (например, из SQL, JSON или CSV), наилучшее решение — очищать их на этапе загрузки через Power Query (доступен в Excel 2016+ и Office 365). Этот метод гарантирует, что время будет удалено навсегда, а не скрыто.
Пошаговая инструкция:
- Перейдите на вкладку
Данные→Получить данные→ выберите источник (например,Из файла → Из текстового/CSV). - Загрузите файл и нажмите
Преобразовать данные(откроется Power Query). - Выделите столбец с датой и временем.
- На вкладке
Преобразованиевыберите:- 📅
Дата/время → Дата(если формат распознан как дата+время), - 📌 Или
Извлечь → Дата(если столбец имеет типДата/время).
- 📅
Закрыть и загрузить.Преимущества метода:
- 🔄 Автоматически обновляет данные при изменении источника.
- 📊 Сохраняет формат даты для всех функций Excel.
- ⚡ Работает с большими наборами данных (миллионы строк).
Как проверить тип данных в Power Query
Откройте Power Query, выделите столбец и посмотрите на заголовок — там будет указан тип (например, Дата/время или Текст). Если тип Текст, сначала преобразуйте его в дату через Преобразование → Тип данных → Дата/время.
4. 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→ выберитеУдалитьВремяИзДаты→Выполнить).
Что делает код:
- 🔍 Проверяет, является ли значение в ячейке датой (
IsDate). - 📅 Удаляет дробную часть (время) с помощью
Int(). - 📌 Применяет формат
дд.мм.гггг.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате.xlsm(с поддержкой макросов) и проверьте его на копии данных — VBA изменяет исходные значения без возможности отмены (Ctrl+Zне работает).
Изменение формата ячеек|Формулы (ЦЕЛОЕ, ДАТАГОД и др.)|Power Query|VBA-макросы|Не знаю, что выбрать-->
5. Ошибки и решения: почему время не удаляется
Если после всех манипуляций время всё равно отображается или даты превращаются в числа, проверьте эти моменты:
| Проблема | Причина | Решение |
|---|---|---|
После применения =ЦЕЛОЕ() даты стали числами (например, 45341) |
Excel отображает внутреннее представление даты | Измените формат ячейки на Дата |
Формула =ОТБР() возвращает ошибку #ЗНАЧ! |
Ячейка содержит текст, а не дату | Используйте =ЗНАЧЕН(ЛЕВСИМВ(A1;10)) или преобразуйте текст в дату через ДАТАЗНАЧ() |
| Power Query не распознаёт столбец как дату/время | Данные импортированы как текст | Выделите столбец → Преобразование → Тип данных → Дата/время |
| После сохранения файла время снова появляется | Файл сохранён в формате .csv или .txt, который не поддерживает форматы Excel |
Сохраняйте в .xlsx или .xlsm |
Если даты импортированы из внешней системы (например, 1С или SQL) и хранятся как текст в нестандартном формате (например, 2026-05-15T12:30:45), используйте комбинацию функций:
=ДАТАЗНАЧ(ЛЕВСИМВ(A1;10))
Эта формула извлечёт дату из строки 2026-05-15T12:30:45, игнорируя время.
6. Альтернативные способы: текст как дата и пользовательские функции
Для нестандартных задач (например, обработки логов или данных с микросекундами) пригодятся эти методы:
6.1. Пользовательская функция VBA для сложных форматов
Если даты имеют формат 15.05.2026 12:30:45.123 (с миллисекундами), стандартные функции не сработают. Создайте свою:
Function ЧистаяДата(rng As Range) As Date
ЧистаяДата = Int(rng.Value)
End Function
Используйте в Excel как =ЧистаяДата(A1).
6.2. Разделение даты и времени на два столбца
Если нужно сохранить и дату, и время по отдельности:
- 📅 Дата:
=ЦЕЛОЕ(A1) - ⏰ Время:
=A1-ЦЕЛОЕ(A1)(примените форматвремяк ячейке)
6.3. Обработка дат в формате UNIX timestamp
Если даты представлены как timestamp (например, 1715764245), используйте:
=ДАТА(1970;1;1) + (A1/86400)
Где 86400 — количество секунд в сутках (Excel хранит даты как дни с 1900 года).
7. Сравнение методов: какой выбрать
| Метод | Скорость | Сохраняет формат даты | Подходит для больших данных | Требует навыков |
|---|---|---|---|---|
| Форматирование ячеек | ⚡ Мгновенно | ❌ Нет (скрывает время) | ✅ Да | ⭐ Базовый |
Формулы (ЦЕЛОЕ, ДАТАГОД) |
⚡ Быстро | ✅ Да | ✅ Да | ⭐ Базовый |
| Power Query | 🐢 Медленнее (но автоматизирует импорт) | ✅ Да | ✅ Да (миллионы строк) | ⭐⭐ Средний |
| VBA | ⚡ Быстро | ✅ Да | ✅ Да | ⭐⭐⭐ Продвинутый |
Текстовые функции (ОТБР, ЛЕВСИМВ) |
⚡ Быстро | ❌ Нет (преобразует в текст) | ✅ Да | ⭐ Базовый |
Рекомендации по выбору:
- 📌 Для разовых задач: Форматирование ячеек или формула
=ЦЕЛОЕ(). - 📌 Для регулярного импорта: Power Query.
- 📌 Для автоматизации: VBA.
- 📌 Для нестандартных форматов: Пользовательские функции или комбинация текстовых формул.
Частые вопросы (FAQ)
Можно ли удалить время без создания нового столбца?
Да, но только если вы готовы потерять исходные данные. Используйте VBA или Power Query для замены значений "на месте". Форматирование ячеек и формулы всегда требуют нового столбца или изменения исходных данных.
Почему после удаления времени даты отображаются как ######?
Это означает, что ширина столбца недостаточна для отображения даты. Расширьте столбец или измените формат на более компактный (например, дд.мм.гг вместо дд месяц гггг).
Как удалить время из даты в Google Sheets?
В Google Таблицах используйте те же методы:
- 📌 Форматирование:
Формат → Числа → Дата. - 📌 Формула:
=ЦЕЛОЕ(A1)или=INT(A1). - 📌 Apps Script (аналог VBA) для автоматизации.
Можно ли вернуть время обратно после его удаления?
Нет, если вы использовали =ЦЕЛОЕ(), VBA или Power Query — время удаляется безвозвратно. Если просто изменили формат ячейки, время сохранено и его можно снова отобразить, вернув формат Дата/время.
Почему функция ДАТАЗНАЧ() не работает с моими данными?
ДАТАЗНАЧ() распознаёт только форматы дат, принятые в вашей локали (например, дд.мм.гггг для России). Если дата в формате мм/дд/гггг или гггг-мм-дд, используйте:
=ДАТА(ЛЕВСИМВ(A1;4); ПСТР(A1;6;2); ПСТР(A1;9;2))
для формата 2026-05-15.