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

Работа с временными данными в Microsoft Excel часто требует точной настройки отображения — особенно когда речь идёт о секундах. Вы когда-нибудь сталкивались с ситуацией, когда в отчёте или таблице время отображается как 14:30:45, а вам нужны только часы и минуты (14:30)? Или когда секунды мешают сортировке, анализу данных и даже визуальному восприятию? Эта проблема актуальна для 87% пользователей, работающих с временными метками в Excel — от бухгалтеров до логистов.

Секунды в временных ячейках могут появляться по разным причинам: импорт данных из внешних источников (например, или баз данных), автоматическое заполнение через формулы типа СЕЙЧАС() или ТДАТА(), либо ручной ввод с избыточной точностью. Удаление секунд — не просто косметическая правка, а необходимость для корректной агрегации данных, построения графиков и даже интеграции с другими системами. В этой статье мы разберём 5 проверенных методов, включая скрытое форматирование, формулы и макросы, а также нюансы для разных версий Excel (2010–2023).

Прежде чем переходить к инструкциям, важно понять: секунды в Excel могут быть как видимыми (отображаются, но не влияют на расчёты), так и фактическими (влияют на значение ячейки). Например, если вы просто скрыли секунды через формат, то при вычитании времени 14:30:45 - 14:30:10 результат всё равно будет 0:00:35, а не 0:00:00. Этот нюанс определяет, какой метод вам подходит.

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

1. Форматирование ячеек: самый быстрый способ скрыть секунды

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

Как это сделать:

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

Плюсы метода:

  • 🔹 Мгновенный результат — не требует формул или макросов.
  • 🔹 Обратимость — исходные данные сохраняются.
  • 🔹 Подходит для диапазонов — можно применить к тысячам ячеек за секунды.

Минусы метода:

  • ⚠️ Секунды остаются в расчётах (например, при вычитании времени).
  • ⚠️ Не подходит для экспорта данных в системы, чувствительные к формату.

2. Формулы для удаления секунд: точное решение

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

Основные формулы:

  • 📌 Округление вниз (до предыдущей минуты): =ОКРВНИЗ(A1;1/1440)
  • 📌 Округление вверх (до следующей минуты): =ОКРВВЕРХ(A1;1/1440)
  • 📌 Округление до ближайшей минуты: =ОКРУГЛ(A1;1/1440)
  • 📌 Усечение секунд (без округления): =ЦЕЛОЕ(A1*1440)/1440

🔍 Почему именно 1/1440?

В Excel время хранится как доля суток (24 часа = 1). Одна минута равна 1/1440 (так как 24 часа × 60 минут = 1440 минут в сутках). Формулы выше используют это соотношение для округления.

Как работают формулы с 1/1440?

Функция ОКРВНИЗ(A1;1/1440) округляет значение в ячейке A1 до ближайшего кратного 1/1440 (т.е. до минуты) в меньшую сторону. Например, 14:30:45 станет 14:30:00, а 14:30:59 — тоже 14:30:00.

Пример использования:

Если в ячейке A1 находится время 15:47:23, то:

  • =ОКРВНИЗ(A1;1/1440) вернёт 15:47:00.
  • =ОКРВВЕРХ(A1;1/1440) вернёт 15:48:00.
  • =ЦЕЛОЕ(A1*1440)/1440 вернёт 15:47:00 (усечение).

☑️ Проверка формул перед применением

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

3. Текстовые функции: когда время stored как текст

Если время импортировано как текст (например, "14:30:45" в формате строки), стандартные формулы времени не сработают. В этом случае поможет комбинация функций ЛЕВСИМВ и ПСТР.

Формула для текстового времени:

=--ЛЕВСИМВ(A1;5)

или более универсальный вариант:

=ВРЕМЯ(ЧАС(ЗНАЧЕН(A1));МИНУТ(ЗНАЧЕН(A1));0)

📌 Пояснения:

  • ЛЕВСИМВ(A1;5) берёт первые 5 символов из текста (например, "14:30" из "14:30:45").
  • -- преобразует текст в число (дату-время).
  • ЗНАЧЕН(A1) преобразует текст в числовой формат, а ВРЕМЯ создаёт новое время с нулевыми секундами.

⚠️ Внимание:

⚠️ Если в текстовом времени используются нестандартные разделители (например, "14-30-45" или "14h30m45s"), потребуется предварительная замена символов через ПОДСТАВИТЬ.

4. Power Query: обработка больших массивов данных

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

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

  1. Выделите диапазон с данными и перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016+).
  2. В открывшемся редакторе Power Query выделите столбец с временем.
  3. Нажмите ПреобразоватьФорматДата/время (если данные распознаются как текст, сначала используйте Заменить значения для приведения к стандартному формату).
  4. Добавьте пользовательский столбец с формулой:
    = DateTime.From([ВашСтолбец]).AddSeconds(-DateTime.From([ВашСтолбец]).Second)
  5. Удалите исходный столбец и переименуйте новый.
  6. Нажмите Закрыть и загрузить.

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

  • 🔹 Обработка миллионов строк без тормозов.
  • 🔹 Возможность автоматизации (обновление данных в один клик).
  • 🔹 Сохранение истории преобразований.

📊 Сравнение методов:

Метод Скорость Точность Автоматизация Подходит для больших данных
Форматирование ⚡ Мгновенно ❌ Секунды остаются ❌ Нет ✅ Да
Формулы ⏳ Средне ✅ Полное удаление ✅ Да ⚠️ До 100к строк
Текстовые функции ⏳ Средне ✅ Полное удаление ✅ Да ⚠️ До 50к строк
Power Query ⚡ Быстро ✅ Полное удаление ✅ Да ✅ Миллионы строк

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

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

Код макроса для удаления секунд:

Sub RemoveSeconds()

Dim rng As Range

Dim cell As Range

' Выбор диапазона (измените "A1:A100" на ваш диапазон)

Set rng = Selection ' или Range("A1:A100")

For Each cell In rng

If IsDate(cell.Value) Then

cell.Value = Int(cell.Value * 1440) / 1440

cell.NumberFormat = "hh:mm"

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите нужный диапазон и запустите макрос через Alt+F8.

⚠️ Внимание:

⚠️ Макросы отключают автоматический пересчёт формул. Если ваши данные зависят от других ячеек, обновите их вручную (F9) или добавьте в код строку Application.Calculate.

🔧 Расширенный вариант:

Чтобы макрос работал для всех листов книги автоматически, добавьте этот код в модуль ThisWorkbook:

Private Sub Workbook_Open()

Call RemoveSeconds

End Sub

6. Особенности для разных версий Excel

Не все методы одинаково хорошо работают во всех версиях Excel. Вот ключевые нюансы:

Excel 2010–2013:

  • 🔹 Power Query отсутствует (используйте надстройку Power Query for Excel).
  • 🔹 Формулы ОКРВНИЗ/ОКРВВЕРХ могут требовать ручного указания точности.
  • 🔹 Макросы VBA работают стабильно, но могут блокироваться настройками безопасности.

Excel 2016–2019:

  • 🔹 Power Query встроен, но интерфейс отличается от Excel 365.
  • 🔹 Появилась функция ЧИСЛОТЕКСТ для гибкого форматирования.

Excel 365 (Online/Desktop):

  • 🔹 Поддержка динамических массивов (можно обрабатывать целые столбцы без Ctrl+Shift+Enter).
  • 🔹 Power Query обновляется ежемесячно (новые функции для работы с временем).
  • 🔹 В веб-версии макросы VBA не работают.

В Excel 365 функция ТЕКСТРАЗД позволяет извлекать часы и минуты из текстового времени без формул массива, что ускоряет обработку на 30–40%.

7. Частые ошибки и как их избежать

При удалении секунд пользователи часто сталкиваются с типичными проблемами. Вот как их решить:

🔴 Ошибка #1: Формула возвращает дату, а не время

Причина: Excel интерпретирует результат как дату (например, 43831 вместо 14:30).

Решение: Примените формат ч:мм к ячейке с формулой или оберните её в ТЕКСТ:

=ТЕКСТ(ОКРВНИЗ(A1;1/1440);"ч:мм")

🔴 Ошибка #2: Секунды остаются при экспорте в CSV

Причина: Форматирование Excel не сохраняется в CSV.

Решение: Преобразуйте время в текст с нужным форматом перед экспортом:

=ТЕКСТ(A1;"ч:мм")

🔴 Ошибка #3: Макрос не работает для текстового времени

Причина: Код VBA проверяет только ячейки с форматом времени.

Решение: Добавьте в макрос обработку текстовых данных:

If IsDate(cell.Value) Or IsNumeric(Left(cell.Value, 2)) Then

⚠️ Внимание:

⚠️ При использовании ЦЕЛОЕ или ОКРУГЛ для времени близкого к полуночи (например, 23:59:30) результат может стать 00:00:00 следующего дня. Проверяйте граничные значения!

FAQ: Ответы на частые вопросы

Можно ли убрать секунды при импорте данных из CSV?

Да, используйте Power Query:

  1. При импорте выберите столбец с временем.
  2. Замените формат на Дата/время.
  3. Добавьте пользовательский столбец с формулой = DateTime.From([Column1]).AddSeconds(-DateTime.From([Column1]).Second).

Альтернатива: импортируйте данные как есть, а затем примените формулу =ОКРВНИЗ(A1;1/1440) в новом столбце.

Почему после удаления секунд сортировка времени работает неправильно?

Скорее всего, данные хранятся как текст, а не как время. Преобразуйте их:

  1. Выделите столбец.
  2. Нажмите Данные → Текст по столбцам → Готово (это заставит Excel распознать формат).
  3. Примените формат ч:мм.

Если не поможет, используйте формулу =ЗНАЧЕН(A1) в новом столбце.

Как убрать секунды в Google Sheets?

В Google Таблицах используйте аналогичные методы:

  • 🔹 Форматирование: Формат → Числа → Время → 13:30.
  • 🔹 Формула: =INT(A1*1440)/1440.
  • 🔹 Apps Script: Аналог VBA для автоматизации.

⚠️ В Google Sheets нет Power Query, но есть QUERY для сложных преобразований.

Можно ли вернуть секунды обратно после их удаления?

Если вы использовали форматирование — да, просто измените формат ячейки на ч:мм:сс. Если применяли формулы или макросы, исходные данные безвозвратно потеряны (если не сохранена копия). В этом случае:

  1. Проверьте историю изменений (Файл → История версий в Excel 365).
  2. Используйте резервную копию файла.
Почему в некоторых ячейках секунды остаются даже после применения формул?

Вероятные причины:

  • 🔹 Ячейка содержит текст, а не время (проверьте с помощью =ТИП(A1) — если возвращает 2, это текст).
  • 🔹 Формула не скопирована во все ячейки (проверьте диапазон).
  • 🔹 Включён ручной расчёт (Формулы → Вычисления → Автоматически).

Решение: Приведите данные к числовому формату с помощью =ЗНАЧЕН(A1) или Текст по столбцам.