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

Если в ваших данных Excel даты отображаются с ненужным временем (например, 15.05.2026 14:30:22 вместо 15.05.2026), проблема не только в визуальном беспорядке. Такие ячейки могут ломать сортировку, сводные таблицы и формулы типа ДЕНЬНЕД(), которые ожидают чистую дату. В 90% случаев время «прилипает» к дате при импорте из баз данных, CSV-файлов или систем аналитики (1С, Google Analytics, CRM). Решение зависит от того, нужно ли сохранить исходные данные или достаточно изменить отображение.

В этой статье — проверенные методы для всех версий Excel (2010–2023, включая Office 365), от простого форматирования до автоматизации через Power Query и VBA. Особый акцент сделан на массовую обработку: как применить изменения ко всем строкам столбца за 1 клик, не редактируя каждую ячейку вручную. Если вам требуется не просто скрыть время, а полностью удалить его из внутреннего представления данных (например, для корректной работы формул), пропустите раздел про форматирование и переходите сразу к функциям или Power Query.

Почему Excel сохраняет время вместе с датой (и когда это критично)

Excel хранит даты и время как числа: целая часть — количество дней с 1 января 1900 года, дробная — доля суток (время). Например, 15.05.2026 12:00 для программы — это число 45425.5 (45425 дней + 0.5 дня = полдень). Когда вы видите 15.05.2026 00:00:00, на самом деле время равно нулю, но Excel отображает его по умолчанию.

Проблемы возникают в трех случаях:

  • 📊 Сводные таблицы: группировка по датам работает некорректно, если в данных есть время (например, вместо одного дня появляются сотни строк с уникальными метками времени).
  • 🔍 Функции даты: ДЕНЬНЕД(), МЕСЯЦ() или ГОД() могут давать сбой, если ячейка содержит не только дату.
  • 📥 Экспорт данных: при выгрузке в другие системы (например, в SQL или JSON) время может искажать результаты.

Если вы просто хотите скрыть время при печати или просмотре, достаточно изменить формат ячеек. Если же данные будут использоваться в формулах или аналитике, время нужно физически удалить — об этом в следующих разделах.

📊 Как часто вам приходится удалять время из дат в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Форматирование ячеек (быстро, но не удаляет время)

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

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

⚠️ Внимание: этот способ только маскирует время. Если вы скопируете ячейку в блокнот или используете её в формуле, время останется. Например, =A1=ДАТА(2026;5;15) вернёт ЛОЖЬ, потому что в A1 сохранено 15.05.2026 00:00:00.

Исходное значениеФормат дд.мм.ггггФормат дд мммм гггг г.Реальное значение (в формулах)
15.05.2026 08:30:0015.05.202615 мая 2026 г.15.05.2026 08:30:00
15.05.2026 00:00:0015.05.202615 мая 2026 г.15.05.2026 00:00:00
15.05.2026 23:59:5915.05.202615 мая 2026 г.15.05.2026 23:59:59

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

Функция ЦЕЛОЕ() отсекает дробную часть числа, оставляя только целую — то есть убирает время, сохраняя дату. Этот метод подходит для массовой обработки и не требует VBA.

Формула для ячейки B1 (если исходные данные в A1):

=ЦЕЛОЕ(A1)

Чтобы применить ко всему столбцу:

  1. Введите формулу в первую ячейку (например, B1).
  2. Дважды кликните на маркер автозаполнения (маленький квадратик в правом нижнем углу ячейки) — формула скопируется до последней заполненной строки в столбце A.
  3. Скопируйте значения столбца B (Ctrl+C) и вставьте их поверх столбца A как значения (правая кнопка → Специальная вставкаЗначения).

⚠️ Внимание: если в исходных данных есть пустые ячейки или текст, ЦЕЛОЕ() вернёт ошибку #ЗНАЧ!. Чтобы избежать этого, используйте комбинацию с ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ЦЕЛОЕ(A1); A1)

☑️ Подготовка данных перед использованием ЦЕЛОЕ()

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

Способ 3: Функции ДАТА(), ГОД(), МЕСЯЦ(), ДЕНЬ() — для сложных случаев

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

Формула для ячейки B1:

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

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

  • 🛡️ Работает даже если в ячейке текст с датой (например, "15.05.2026 14:30" как строка).
  • 🔄 Сохраняет корректную дату даже при ошибках округления (в отличие от ЦЕЛОЕ()).
  • 📅 Позволяет модифицировать дату на лету (например, прибавить 1 день: =ДАТА(ГОД(A1); МЕСЯЦ(A1); ДЕНЬ(A1)+1)).

Недостаток: формула дольше считается на больших массивах данных (100 000+ строк). В этом случае лучше использовать Power Query (способ 4).

Что делать, если функция ДАТА() возвращает ошибку #ЗНАЧ!?

Если исходная ячейка содержит текст (например, "15 мая 2026 г."), сначала преобразуйте её в дату с помощью =ДАТАЗНАЧ(A1). Если ошибка остаётся, проверьте региональные настройки Excel: в русскоязычной версии разделителем даты должен быть точка (.), а не слеш (/).

Способ 4: Power Query — обработка миллионов строк без формул

Если у вас тысячи строк или данные регулярно обновляются, Power Query (в Excel 2016+ и Office 365) — оптимальное решение. Этот инструмент позволяет однократно настроить правило и применять его при каждом импорте данных.

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

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

    • ⚡ Обрабатывает миллионы строк за секунды (в отличие от формул).
    • 🔄 Правила сохраняются: при обновлении данных (например, из CSV) время будет удаляться автоматически.
    • 🛠️ Позволяет комбинировать с другими преобразованиями (замена текста, фильтрация и т. д.).

    ⚠️ Внимание: если исходные данные в формате текста (например, "15/05/2026 14:30"), сначала преобразуйте их в дату/время с помощью кнопки ПреобразоватьТип данных: Дата/время.

    Способ 5: VBA-макрос — автоматизация для продвинутых пользователей

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

    Sub RemoveTimeFromDates()
    

    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. Вставьте код в новый модуль (InsertModule).
    3. Вернитесь в Excel, выделите столбец с датами и запустите макрос (Alt+F8 → выберите RemoveTimeFromDatesВыполнить).

    Модификации кода:

    • 📌 Чтобы обработать весь лист, замените Selection на ActiveSheet.UsedRange.
    • 📅 Чтобы оставить другой формат даты (например, dd-mm-yyyy), измените строку cell.NumberFormat.
    • ⚠️ Чтобы пропускать ошибки (если в данных есть текст), добавьте On Error Resume Next в начало макроса.

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

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

    МетодСкоростьСохраняет исходные данныеПодходит для больших данныхТребует навыковАвтоматизация
    Форматирование⚡ Мгновенно✅ Да✅ Да❌ Нет❌ Нет
    Функция ЦЕЛОЕ()⏳ Медленно на 100К+ строк❌ Нет (нужно вставлять значения)⚠️ Условно❌ Нет❌ Нет
    ДАТА()+ГОД()+...⏳⏳ Очень медленно на больших данных❌ Нет❌ Нет❌ Нет❌ Нет
    Power Query⚡⚡ Очень быстро❌ Нет (но можно отменить)✅ Да (миллионы строк)⚠️ Средние✅ Да
    VBA⚡ Быстро❌ Нет✅ Да✅ Да✅ Да

    Рекомендации по выбору:

    • 📊 Для разового исправления небольшой таблицы: функция ЦЕЛОЕ() или форматирование (если время не мешает формулам).
    • 📈 Для регулярного импорта (например, еженедельных отчётов): Power Query.
    • 🤖 Для автоматизации или обработки сотен файлов: VBA.
    • 🔧 Если данные повреждены (смешан текст и даты): ДАТА()+ГОД()+....

    FAQ: Частые вопросы об удалении времени в Excel

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

    Да, но важно понимать разницу между отображением и хранением данных. Если вам нужна точность до дня (например, для расчёта процентов по дням), используйте ЦЕЛОЕ() или Power Query — они сохранят корректную дату без времени. Если же требуется точность до секунды (например, для логов транзакций), удалять время нельзя: в этом случае лучше добавить отдельный столбец с «округлённой» датой, оставив исходные данные нетронутыми.

    Почему после удаления времени функция СЕГОДНЯ() перестала работать корректно?

    Функция СЕГОДНЯ() возвращает текущую дату с временем (например, 15.05.2026 14:30:00). Если вы сравниваете её с датой без времени (например, =A1=СЕГОДНЯ()), результат будет ЛОЖЬ, потому что 15.05.2026 00:00:00 ≠ 15.05.2026 14:30:00. Решение: оберните СЕГОДНЯ() в ЦЕЛОЕ():

    =A1=ЦЕЛОЕ(СЕГОДНЯ())
    Как убрать время из даты в сводной таблице?

    В сводных таблицах время удаляется на этапе подготовки данных:

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

    Почему после импорта из CSV даты отображаются как текст с временем?

    Excel часто неправильно распознаёт форматы дат при импорте, особенно если разделитель — запятая или точка с запятой. Решения:

    • 📌 Используйте Power Query для импорта: он лучше распознаёт даты.
    • 📌 Перед импортом замените в CSV разделитель даты на точку (.) и время на двоеточие (:).
    • 📌 После импорта выделите столбец → Текст по столбцам → укажите формат даты на последнем шаге.

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

    Нет, если вы использовали ЦЕЛОЕ(), Power Query или VBA — исходные данные с временем безвозвратно потеряны. Исключение: если вы применили только форматирование (Способ 1), время сохранено внутри ячейки. Чтобы вернуть его, измените формат на дд.мм.гггг чч:мм:сс. Если данных больше нет, попробуйте восстановить предыдущую версию файла (ФайлСведенияУправление книгойВосстановить несохранённую книгу).