Проблема с секундами в данных Excel: когда это мешает
Вы загрузили данные из внешней системы, скопировали время из другого источника или получили отчёт с точными временными метками — и теперь в каждой ячейке красуются ненужные секунды: 14:30:45 вместо аккуратного 14:30. Лишние нули или случайные значения секунд не только портят визуальное восприятие таблицы, но и усложняют анализ. Например, при группировке данных по часам и минутам Excel будет воспринимать 14:30:00 и 14:30:01 как разные временные отметки — хотя для бизнес-задач эта разница часто несущественна.
В этой статье разберём 5 рабочих способов удалить секунды из времени в Excel — от простого форматирования до автоматизации через Power Query и VBA. Каждый метод подходит для разных сценариев: однократной правки, регулярной обработки больших массивов или интеграции в сложные модели. Выбирайте подходящий вариант в зависимости от объёма данных и вашего уровня владения Excel.
⚠️ Важно: перед массовым изменением данных сделайте резервную копию файла — особенно если работаете с формулами или макросами. Некоторые методы (например, замена через Найти и заменить) могут исказить исходные значения, если в ячейках хранятся не только временные данные, но и текст.
Способ 1: Форматирование ячеек без изменения данных
Самый быстрый и безопасный метод — изменить формат отображения времени, оставив исходные значения нетронутыми. Это актуально, если секунды нужны для внутренних расчётов, но не должны показываться пользователям.
Как это сделать:
- Выделите диапазон ячеек с временем (например,
A1:A100). - Нажмите правой кнопкой мыши и выберите
Формат ячеек(или используйте сочетаниеCtrl+1). - В окне форматирования перейдите на вкладку
Число→ категорияВремя. - Выберите формат
13:30(без секунд) или создайте свой формат черезВсе форматы, введяч:мм.
✅ Плюсы: данные остаются неизменными, метод работает мгновенно даже для тысяч строк.
❌ Минусы: секунды сохраняются в фоне и могут проявиться при экспорте или копировании в другие системы.
Способ 2: Функции ОКРУГЛ и ЦЕЛОЕ для математического округления
Если секунды нужно не просто скрыть, а полностью убрать из расчётов, используйте формулы. Этот метод подходит для создания отдельного столбца с "очищенным" временем или замены исходных данных.
Две ключевые функции:
- 📌
=ОКРУГЛ(A1*1440;0)/1440— округляет время до ближайшей минуты (1440 = количество минут в сутках). - 📌
=ЦЕЛОЕ(A1*1440)/1440— обрезает секунды без округления (например,14:30:59станет14:30:00).
Пример использования:
| Исходное время (A1) | Формула с ОКРУГЛ | Формула с ЦЕЛОЕ |
|---|---|---|
| 14:30:29 | 14:30:00 | 14:30:00 |
| 14:30:30 | 14:31:00 | 14:30:00 |
| 23:59:59 | 00:00:00 | 23:59:00 |
⚠️ Внимание: если в ячейке хранится дата и время одновременно (например, 15.05.2023 14:30:45), формулы сохранят только временную часть. Чтобы оставить дату, используйте:
=ЦЕЛОЕ(A1) + ОКРУГЛ((A1-ЦЕЛОЕ(A1))*1440;0)/1440
Выделите столбец для результата|Проверьте, что исходные ячейки имеют формат "Время" или "Дата"|Скопируйте формулу вниз с помощью маркера автозаполнения|При необходимости замените исходные данные через "Копировать → Специальная вставка → Значения"-->
Способ 3: Текстовые функции ЛЕВСИМВ и ПСТР
Если время хранится как текст (например, после импорта из CSV), стандартные функции времени не сработают. В этом случае поможет обрезка строки:
Формула для формата чч:мм:сс:
=ЛЕВСИМВ(A1;5)
Для формата чч:мм:сс.мс (с миллисекундами):
=ПСТР(A1;1;8)
⚠️ Внимание: после обрезки текстовое время станет нераспознаваемым для функций Excel (например, нельзя будет вычитать временные интервалы). Чтобы преобразовать результат обратно в формат времени, используйте:
=ВРЕМЗНАЧ(ЛЕВСИМВ(A1;5))
Способ 4: Power Query для массовой обработки
Если данные поступают регулярно (например, из базы или внешнего отчёта), автоматизируйте очистку через Power Query. Этот инструмент позволяет создавать повторяемые сценарии без формул.
Пошаговая инструкция:
- Выделите исходную таблицу и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+). - В редакторе Power Query выделите столбец с временем.
- Перейдите на вкладку
Преобразовать→Формат → Дата/время. - Выберите
Время(если нужно отделить от даты) или создайте пользовательский столбец с формулой:
= Time.From(#datetime(1900, 1, 1, [ВашСтолбец].Hour, [ВашСтолбец].Minute, 0))
🔹 Преимущество: сценарий сохраняется и обновляется при изменении исходных данных (кнопка Обновить все).
🔹 Недостаток: требует Excel 2016 или новее (в Excel 2010-2013 Power Query устанавливается как надстройка).
Как проверить версию Power Query?
Откройте Файл → Учетная запись → О программе Excel. В строке "Версия" ищите упоминание Power Query или Get & Transform. В Excel 2016+ инструмент встроен, в 2010-2013 требуется скачать надстройку с сайта Microsoft.
Способ 5: Макрос VBA для автоматизации
Для опытных пользователей или повторяющихся задач напишите простой макрос. Он пригодится, если нужно обработать сотни файлов или интегрировать очистку в сложный скрипт.
Код для удаления секунд в выделенном диапазоне:
Sub RemoveSeconds()
Dim cell As Range
For Each cell In Selection
If IsDate(cell.Value) Then
cell.Value = TimeSerial(Hour(cell.Value), Minute(cell.Value), 0)
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите ячейки с временем и запустите макрос через
Вид → Макросы.
⚠️ Внимание: макрос безвозвратно изменяет исходные данные. Перед запуском сохраните файл или работайте с копией. Также убедитесь, что в выделенном диапазоне нет текстовых ячеек — они прервут выполнение скрипта.
Сравнение методов: какой выбрать?
Выбор способа зависит от объёма данных, частоты задачи и необходимости сохранения секунд в фоне. Ниже таблица для быстрого принятия решения:
| Метод | Сохраняет секунды в данных | Требует формул | Подходит для больших массивов | Автоматизация |
|---|---|---|---|---|
| Форматирование | Да | Нет | Да | Нет |
| Функции ОКРУГЛ/ЦЕЛОЕ | Нет | Да | Да | Частично (копирование значений) |
| Текстовые функции | Нет | Да | Да | Нет |
| Power Query | Нет | Нет | Да | Да |
| VBA-макрос | Нет | Нет | Да | Да |
💡 Критическая деталь: если вы работаете с временными метками из систем аналитики (например, Google Analytics или 1С), удаление секунд может исказить данные при сводке по минутам. В таких случаях лучше использовать Форматирование или создавать отдельный столбец с округлёнными значениями.
Частые ошибки и как их избежать
При удалении секунд пользователи часто сталкиваются с неожиданными проблемами. Вот типичные сценарии и решения:
- ❌ Формулы возвращают ошибку
#ЗНАЧ!: проверьте, что исходные ячейки имеют форматВремяилиДата. Используйте=ЕЧИСЛО(A1)для диагностики. - ❌ После обрезки времени появляется дата
01.01.1900: это означает, что Excel интерпретирует текст как дату. Примените форматВремяк результирующим ячейкам. - ❌ Макрос не работает: убедитесь, что в настройках безопасности разрешены макросы (
Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов). - ❌ Power Query не распознаёт время: перед преобразованием измените тип данных столбца на
Дата/времячерез контекстное меню.
🔧 Совет для сложных случаев: если время хранится в нестандартном формате (например, 14h30m45s), используйте комбинацию функций ПОИСК, ПСТР и ВРЕМЗНАЧ для парсинга:
=ВРЕМЗНАЧ(0; ПСТР(A1; ПОИСК("h";A1)-2; 2); 0)
FAQ: Ответы на популярные вопросы
Можно ли убрать секунды при импорте данных из CSV?
Да, используйте Power Query (см. Способ 4). При импорте выберите столбец с временем, измените его тип на Дата/время, а затем примените преобразование для удаления секунд. Альтернативно — импортируйте данные как есть, а затем используйте формулы в отдельном столбце.
Почему после удаления секунд графики в Excel показывают неверные данные?
Скорее всего, на оси графика установлен формат с секундами, а данные уже очищены. Кликните правой кнопкой по оси времени → Формат оси → измените формат на ч:мм. Также проверьте, что в легенде графика используются те же данные, что и в таблице.
Как убрать секунды в Google Таблицах?
Аналогично Excel: используйте форматирование (Формат → Числа → Время) или формулы =ОКРУГЛ(A1*1440;0)/1440. В Google Таблицах также есть функция =ЧАСМИН(A1), которая автоматически округляет до минут.
Можно ли вернуть секунды после их удаления?
Если вы использовали Форматирование (Способ 1), секунды сохранены в фоне — просто измените формат обратно. Если применяли формулы или макросы, восстановить секунды можно только из резервной копии или исходного источника данных.
Почему функция ЦЕЛОЕ не работает с моими данными?
Вероятные причины:
- Ячейки содержат текст, а не время (проверьте с помощью
=ТИП(A1)— должно вернуть5для даты/времени). - Время хранится в формате UNIX_timestamp (количество секунд с 1970 года). Используйте
=ЦЕЛОЕ(A1/60)/60/24для преобразования. - Включен режим вычислений вручную (проверьте на вкладке
Формулы).