Как корректно отображать отрицательное время в Excel?
Работа с вычислениями времени в Excel может оказаться непростой, если вычитать более позднее время из более раннего. Например, при вычитании 12:20 из 10:15 Excel вернёт ошибку ######, а не отрицательное значение времени, как показано на снимках экрана ниже. Это происходит потому, что Excel по умолчанию поддерживает только положительные значения времени в своей стандартной системе дат. Решение этой задачи критически важно для точного планирования, ведения табелей учёта рабочего времени и любых ситуаций, где необходимо корректно отображать отрицательные временные интервалы или рассчитывать сверхурочные.

![]()

➤ Корректное отображение отрицательного времени путём изменения стандартной системы дат Excel
➤ Корректное отображение отрицательного времени с помощью формул
➤ Отображение отрицательного времени с использованием кода VBA (пользовательский Формат текста)
Правильное отображение отрицательного времени путём изменения стандартной системы дат Excel
При работе с расчётами времени простой способ корректно отображать отрицательные значения — переключить книгу на систему дат 1904 года. Это позволяет показывать отрицательные результаты (например, «–2:05») без ошибок. Такой подход особенно удобен, если вам часто приходится работать с отрицательными длительностями — например, при управлении проектами или планировании смен.
Примечания:
- Переход на 1904 систему дат сдвигает все существующие даты в книге примерно на 1462 дня (~4 года). После изменения проверьте другие поля с датами.
- Этот параметр применяется только к текущей книге (не влияет на другие файлы).
- При совместной работе имейте в виду: если книги будут смешаны, пользователи, использующие стандартную 1900 систему дат, могут видеть другие результаты.
- В одной и той же книге нельзя одновременно использовать обе системы дат — 1900 и 1904.
1. Откройте диалоговое окно Параметры Excel. В Excel 2010/2013 перейдите в меню Файл > Параметры . В Excel 2007 щёлкните Кнопка Office и выберите пункт Параметры Excel. Excel Options.
2. В окне Параметры Excel выберите раздел Дополнительно. В разделе При вычислении этой книги установите флажок Использовать систему дат 1904. См. снимок экрана ниже:

3. Нажмите кнопку ОК. Теперь отрицательные разницы во времени будут отображаться корректно, как показано здесь:

![]()

Советы:
- Если сохранение исторической точности дат имеет критическое значение, рассмотрите альтернативные подходы — например, пользовательский текстовый вывод с помощью формулы или VBA — вместо переключения систем дат.
- Зафиксируйте принятую систему дат в книге (например, на листе «ReadMe»), чтобы избежать путаницы у других пользователей.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Правильное отображение отрицательного времени с помощью формул
Если ваш рабочий процесс не позволяет изменять систему дат — например, из-за требований совместимости или отчётности, — вы можете корректно отображать отрицательное время с помощью формул. Этот метод представляет отрицательные длительности в виде текста, обеспечивая чёткий визуальный результат без ошибок Excel. Такой подход широко применяется, в частности, при расчётах недоработки часов, отслеживании превышения сроков проекта или сравнении прошедшего времени.
1. Введите значения времени, которые нужно вычислить, в две отдельные ячейки (например, A1 и A2). Затем в пустой ячейке введите следующую формулу для расчёта и форматирования отрицательной разницы:
=TEXT(MAX($A$1:$A$2)-MIN($A$1:$A$2),"-H::MM") Здесь A1 и A2 — это два значения времени. При необходимости скорректируйте ссылки на ячейки под свои данные. Формула возвращает результат в виде текста, поэтому вы увидите знак минуса даже в тех случаях, когда Excel обычно выдаёт ошибку при вычислении.

2. Нажмите клавишу Enter. Результат появится в виде форматированной текстовой строки времени со знаком минус, если значение отрицательное, как показано ниже:

Альтернативная формула:
Вы также можете использовать эту формулу, которая условно отображает знак минуса, когда результат отрицательный:
=IF(A2-A1<,0, "-" &, TEXT(ABS(A2-A1),"hh:mm"), A2-A1) В этой конфигурации A2 — это меньшее или более раннее время, а A1 — более позднее. Однако вы должны скорректировать их в соответствии с направлением своих вычислений. Этот метод возвращает текстовый результат для отрицательных значений, что упрощает составление отчётов, но имейте в виду: полученные значения нельзя суммировать как временные без дополнительного преобразования.
Примечания:
- Результаты представлены в виде текста, а не истинных значений времени, поэтому дальнейшие вычисления со временем работать не будут, пока вы не преобразуете их обратно в формат времени.
- Подход на основе формул не привязан к конкретной книге, удобен для совместного использования и помогает избежать конфликтов глобальных настроек.
- Следите за корректностью ссылок на ячейки, чтобы избежать логических ошибок — например, вычитания конечного времени из начального, что приведёт к отрицательному результату.
Отображение отрицательного времени с помощью кода VBA (пользовательский Формат текста)
Ещё один эффективный способ работы с отрицательным временем в Excel — использование макроса VBA. Он особенно полезен, когда нужно автоматически выявлять и отображать отрицательные временные значения на листе — даже при работе с большими объёмами данных — без изменения системных настроек или применения формул в каждой ячейке. Этот метод идеально подходит продвинутым пользователям, регулярно вводящим временные данные, например, для учёта смен сотрудников: он предотвращает появление ошибки ######, преобразуя отрицательные временные результаты в понятные текстовые строки (например, с префиксом в виде знака «минус»).
Преимущества: Позволяет выполнять пакетную обработку выбранных ячеек, сохраняет исходные данные, даёт возможность форматировать результаты по необходимости и не влияет на системные настройки дат Excel.
Недостатки: Требует включения макросов и не подходит, если вы хотите сохранить собственные значения времени Excel для вычислений, а не только для отображения.
Рекомендации и советы:
- Всегда создавайте резервную копию файла перед запуском сценариев VBA.
- Это решение преобразует отрицательные значения времени в текст. Если в будущем понадобятся вычисления, используйте исходные числовые данные, а не текстовый результат, сгенерированный макросом.
- Макросы могут быть отключены политиками вашей ИТ-службы. Чтобы воспользоваться этим решением, включите макросы в Excel.
1. В Excel перейдите на вкладку Разработчик и нажмите Visual Basic. В открывшемся окне редактора VBA выберите Вставка → Модуль, затем вставьте следующий код в окно модуля:
Sub DisplayNegativeTimeAsText()
Dim WorkRng As Range
Dim Cell As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Select time calculation result cells", xTitleId, WorkRng.Address, Type:=8)
For Each Cell In WorkRng
If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
If InStr(Cell.NumberFormat, ":") > 0 Then
If Cell.Value < 0 Then
Cell.NumberFormat = "@"
Cell.Value = "-" & Format(Abs(Cell.Value), "h:mm")
End If
End If
End If
Next
End Sub 2. Чтобы выполнить макрос, нажмите кнопку
Выполнить в редакторе VBA или клавишу F5. После этого появится диалоговое окно, позволяющее выбрать диапазон ячеек с результатами разницы во времени (включая те, где отображается ошибка)######).
Макрос автоматически просканирует выбранный диапазон. Для любой ячейки, содержащей отрицательное значение времени (которое обычно отображается как)######), он изменит формат ячейки на текстовый и преобразует значение в читаемый формат, например «-2:05». Положительные временные значения останутся без изменений. Чтобы вернуть обычный формат времени, восстановите исходные значения ячеек или используйте команду отмены/повтора.
Устранение неполадок и дополнительные советы:
- Если вы выберете диапазон без временных значений (например, пустые ячейки или ячейки, не содержащие данных о времени), макрос безопасно пропустит их.
- Если ячейки не выбраны, макрос запросит нужный диапазон и оставит остальные данные нетронутыми.
- Всегда проверяйте форматирование после выполнения: затронутые ячейки теперь содержат текст, поэтому исходные вычисления времени не будут работать, пока вы не сбросите формат.
- Чтобы адаптировать макрос под другие форматы отображения или более длинные структуры «час:минута:секунда», при необходимости измените раздел
Format(Abs(Cell.Value), "h:mm").
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек