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

Работа с временными данными в Microsoft Excel часто становится головной болью для пользователей. Казалось бы, простая задача — вычесть одно время из другого — может обернуться ошибками формата, некорректными результатами или вовсе "столбцом решёток" (#). Причина кроется в том, что Excel хранит даты и время как числа: каждый день равен единице (1), а время представляется дробной частью (например, 12:00 — это 0.5). Эта особенность требует специального подхода к вычислениям.

Многие ошибочно пытаются вычитать время как обычные числа или текстовую строку, забывая про форматирование ячеек. В результате вместо разницы в часах получают бессмысленные цифры вроде "0.125" (что на самом деле равно 3 часам). В этой статье мы разберём 5 проверенных способов вычитания времени — от базовых формул до решения сложных кейсов с пересечением полуночи или суммированием временных интервалов.

Особое внимание уделим типичным ошибкам: почему Excel показывает отрицательное время в виде "######", как правильно настроить формат ячеек для отображения часов и минут, и что делать, если разница превышает 24 часа. Все примеры сопровождаются скриншотами и готовыми формулами для копирования.

Если вы работаете с табелями учёта рабочего времени, графиками смен или любыми другими данными, где важна точность до минуты — эта инструкция сэкономит вам часы на поиск решений.

1. Базовый способ: простое вычитание времени

Начнём с самого простого случая: у вас есть две ячейки с временем (например, начало и конец рабочего дня), и нужно найти разницу между ними. Предположим, что время записано в ячейках A2 (9:00) и B2 (17:30).

Формула будет выглядеть так:

=B2-A2

Но здесь есть подвох: Excel по умолчанию отображает результат в формате времени, а не часов. То есть вместо "8:30" вы можете увидеть "0.35416...". Чтобы исправить это:

  • 📌 Выделите ячейку с результатом (например, C2).
  • 🔧 Нажмите правой кнопкой → Формат ячеек.
  • 🕒 Выберите категорию Время и укажите формат 13:30:55.
  • ✅ Нажмите ОК — теперь разница отобразится корректно.

Если вам нужно получить разницу в часах (например, для расчёта оплаты труда), используйте формат [ч]:мм (квадратные скобки вокруг "ч" позволяют отображать значения больше 24 часов). Для этого вручную введите этот формат в поле Тип при настройке формата ячейки.

2. Вычитание времени с пересечением полуночи

Классическая проблема: если начало смены в 22:00, а конец в 6:00 следующего дня, простое вычитание даст ошибку или отрицательное значение. Это происходит потому, что Excel воспринимает время как циклическую величину (0:00 = 24:00).

Решение — использовать формулу с учётом даты. Предположим, что дата и время записаны вместе в ячейках A2 (22.05.2026 22:00) и B2 (23.05.2026 6:00). Тогда формула остаётся прежней:

=B2-A2

Но если у вас только время (без даты), добавьте к ночному времени сутки:

=ЕСЛИ(B2

Эта формула проверяет, не является ли время окончания (B2) меньше времени начала (A2). Если да — прибавляет к B2 единицу (что равно 24 часам) и только потом вычитает.

⚠️ Внимание: Если вы работаете с временными отметками без даты, но знаете, что пересечение полуночи возможно — всегда используйте формулу с проверкой. Иначе Excel будет показывать ошибку ###### для отрицательных значений.
Ячейка A (начало) Ячейка B (конец) Формула Результат
22:00 6:00 =ЕСЛИ(B2 8:00
9:00 17:30 =B2-A2 8:30
23:45 0:15 =ЕСЛИ(B2 0:30

3. Вычитание времени с учётом секунд

Если вам нужна точность до секунды (например, для хронометража спортивных соревнований или технических замеров), используйте формат времени с секундами. Предположим, у вас в ячейках A2 и B2 записано время с секундами: 10:15:22 и 10:16:45.

Формула остаётся той же:

=B2-A2

Но теперь настройте формат ячейки как 13:30:55 (включая секунды). Результат будет 0:01:23 (1 минута 23 секунды).

Если вам нужно получить разницу только в секундах, умножьте результат на 86400 (количество секунд в сутках):

= (B2-A2)*86400

И отформатируйте ячейку как Числовой формат без десятичных знаков.

📊 Как часто вы работаете с секундами в Excel?
Постоянно (хронометраж, логи)
Иногда (технические данные)
Рядом не было (только часы/минуты)
Не знаю, как это сделать

4. Суммирование временных интервалов

Допустим, у вас есть список временных интервалов (например, длительность звонков или операций), и нужно найти их сумму. Простое сложение формулой =СУММ(A2:A10) не сработает корректно, если ячейки отформатированы как время.

Решение:

  1. Убедитесь, что все ячейки с временем имеют формат [ч]:мм (для значений >24 часов).
  2. Используйте функцию СУММ как обычно:
    =СУММ(A2:A10)
  3. Отформатируйте ячейку с результатом как [ч]:мм.

Пример: если в ячейках A2:A4 записаны значения 2:30, 3:45 и 1:15, сумма будет 7:30. Но если одно из значений превышает 24 часа (например, 25:10), стандартный формат времени покажет неверный результат. Поэтому всегда используйте [ч]:мм для суммирования.

Все ячейки отформатированы как [ч]:мм|

Нет текстовых значений (например, "2 часа")|

Нет отрицательных временных интервалов|

Результат также отформатирован как [ч]:мм-->

5. Вычитание времени с учётом выходных и праздников

Более сложный кейс: нужно вычесть время с учётом только рабочих дней (например, для расчёта времени выполнения задачи без выходных). Здесь поможет функция РАБДЕНЬ в комбинации с проверкой времени.

Предположим:

  • В A2 — дата и время начала (10.05.2026 14:00).
  • В B2 — дата и время окончания (14.05.2026 10:00).
  • Выходные — суббота и воскресенье.

Формула для расчёта только рабочих часов:

= (РАБДЕНЬ(B2; A2)-1)24 + МАКС(0; (B2-ЦЕЛОЕ(B2)) - (A2-ЦЕЛОЕ(A2)))  24

Где:

  • РАБДЕНЬ(B2; A2)-1 — количество полных рабочих дней между датами.
  • (B2-ЦЕЛОЕ(B2)) - (A2-ЦЕЛОЕ(A2)) — разница во времени (без даты).
  • МАКС(0; ...) — исключает отрицательные значения, если время окончания меньше времени начала в пределах одного дня.

Эта формула вернёт количество рабочих часов с учётом выходных. Например, для интервала с 10.05 (четверг) по 14.05 (понедельник) результат будет учитывать только часы с 14:00 четверга до 18:00 пятницы и с 9:00 до 10:00 понедельника (если рабочий день с 9:00 до 18:00).

Как учесть праздничные дни?

Добавьте в функцию РАБДЕНЬ третий аргумент — диапазон с датами праздников. Например:

=РАБДЕНЬ(B2; A2; $D$2:$D$10)

Где D2:D10 — список праздничных дат.

6. Типичные ошибки и как их исправить

Даже опытные пользователи Excel сталкиваются с ошибками при работе со временем. Вот самые распространённые проблемы и их решения:

  • 🚨 ###### в ячейке с результатом: означает, что ширина столбца недостаточна или результат отрицательный. Растяните столбец или используйте формулу с проверкой (см. раздел 2).
  • 🕒 Результат в формате даты (например, "01.01.1900"): Excel воспринял ваши данные как дату. Измените формат ячейки на Время.
  • Некорректная разница при пересечении полуночи: используйте формулу =ЕСЛИ(B2.
  • 📉 Сумма временных интервалов сбрасывается после 24 часов: настройте формат ячейки как [ч]:мм.

Ещё одна частая ошибка — ввод времени как текста (например, "9 часов 30 минут"). Excel не распознаёт такой формат как временной. Преобразуйте данные в стандартный вид 9:30 с помощью функции ВРЕМЯ:

=ВРЕМЯ(9; 30; 0)
⚠️ Внимание: Если вы импортируете данные из внешних источников (например, или CRM-систем), время может импортироваться как текст. Используйте функцию ЗНАЧЕН, чтобы преобразовать его в числовой формат:
=ЗНАЧЕН(A2)

Где A2 — ячейка с текстовой временной отметкой.

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

❓ Как вычесть время, если в ячейке записано "2 часа 15 минут"?

Используйте функцию ВРЕМЯ для преобразования текста в временной формат:

=ВРЕМЯ(2; 15; 0)

Затем вычитайте как обычно. Для автоматического извлечения часов и минут из текста можно использовать формулы ПСТР и НАЙТИ, но проще сделать замену вручную или через Текст по столбцам.

❓ Почему Excel показывает 0:00 вместо разницы?

Это происходит, если обе ячейки содержат одинаковое время или если результат вычитания равен нулю. Проверьте исходные данные. Также убедитесь, что ячейки не отформатированы как Общий формат — измените его на Время.

❓ Можно ли вычитать время с миллисекундами?

Да, но для этого нужно:

  1. Убедиться, что исходные данные включают миллисекунды (формат 13:30:55.000).
  2. Использовать формулу вычитания как обычно.
  3. Отформатировать ячейку с результатом как 13:30:55.000.

Для расчётов с миллисекундами может потребоваться умножение на 86400000 (количество миллисекунд в сутках).

❓ Как посчитать разницу между временем в разных часовых поясах?

Сначала приведите оба времени к одному часовому поясу. Например, если у вас:

  • Время в Москве (A2): 10:00 (UTC+3).
  • Время в Нью-Йорке (B2): 02:00 (UTC-4).

Преобразуйте оба значения к UTC, добавив/вычтя разницу в часах:

= (B2 + ВРЕМЯ(4; 0; 0)) - (A2 - ВРЕМЯ(3; 0; 0))

Затем отформатируйте результат как время.

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

Скорее всего, у вас отключён автоматический пересчёт формул. Включите его:

  1. Перейдите в Формулы → Параметры вычислений.
  2. Выберите Автоматически.
  3. Нажмите F9, чтобы принудительно пересчитать все формулы.

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