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

Работа с временными данными в Microsoft Excel — одна из самых распространённых задач для бухгалтеров, логистов и менеджеров проектов. Но даже опытные пользователи иногда сталкиваются с проблемами при вычитании времени: результаты отображаются в виде дат, появляются ошибки ###### или неправильные часы. Всё дело в форматах ячеек и особенностях хранения данных о времени в программе.

В этой статье мы разберём 5 способов вычитания времени — от простых арифметических операций до сложных формул с учётом перехода через полночь. Вы узнаете, как правильно настроить формат ячеек, избежать ошибок и автоматизировать расчёты. А ещё подробно остановимся на типичных ловушках, из-за которых Excel показывает неверные результаты.

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

Почему Excel неправильно вычитает время?

Перед тем как переходить к формулам, важно понять, как Excel хранит данные о времени. Программа воспринимает даты и время как числа с дробной частью: целая часть — это количество дней с 1 января 1900 года, а дробная — время суток (где 1 = 24 часа, 0,5 = 12 часов, 0,04167 = 1 час).

Из-за этого при вычитании времени часто возникают 3 ключевые проблемы:

  • 🔹 Неправильный формат ячейки — Excel показывает результат как дату (например, 31.12.1899 вместо 8:00).
  • 🔹 Отрицательное время — если вычитаем большее значение из меньшего, получаем ######.
  • 🔹 Переход через полночь — например, 23:00 - 1:00 даёт -2:00 вместо 22:00.

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

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

Подготовка данных: формат ячеек для времени

Прежде чем вычитать время, убедитесь, что ячейки имеют правильный формат. По умолчанию Excel может воспринимать введённые часы и минуты как текст или общую числовую запись. Чтобы этого избежать:

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

Если вы работаете с продолжительностью (например, разницей между двумя временными метками), используйте формат [ч]:мм:сс — он позволяет отображать значения больше 24 часов. Например, 27:30 вместо 3:30.

Выделить ячейки с временными данными|Открыть "Формат ячеек" (Ctrl+1)|Выбрать категорию "Время"|Указать нужный формат (например, 13:30)|Применить изменения-->

Формат Пример отображения Когда использовать
13:30 14:45 Для времени в пределах суток
13:30:55 08:15:30 Если важны секунды
[ч]:мм 30:45 Для продолжительности >24 часов
ч:мм AM/PM 2:30 PM Для 12-часового формата

Критическая ошибка: если не изменить формат ячейки с результатом вычитания, Excel может показать дату вместо времени (например, 01.01.1900 вместо 8:00). Всегда проверяйте формат после выполнения расчётов!

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

Самый очевидный метод — использовать стандартную формулу вычитания. Он подходит, если оба временных значения находятся в пределах одних суток (например, 14:00 - 9:30).

Допустим, в ячейке A1 у вас время начала (09:30), а в B1 — время окончания (17:45). В ячейке C1 введите:

=B1-A1

После нажмите Enter. Если формат ячейки C1 настроен как Время, вы увидите результат 8:15.

  • Плюсы: быстро, не требует дополнительных функций.
  • Минусы: не работает, если время окончания меньше времени начала (например, 01:00 - 23:00).

Способ 2: Вычитание с учётом перехода через полночь

Если временной интервал пересекает полночь (например, ночная смена с 22:00 до 06:00), простое вычитание даст отрицательное значение. Чтобы исправить это, используйте одну из формул:

Вариант 1: Формула с условием

=ЕСЛИ(B1

Здесь 1 обозначает полные сутки (24 часа). Формула проверяет, если время окончания (B1) меньше времени начала (A1), то добавляет 24 часа к разнице.

Вариант 2: Формула с функцией МОД (для циклов)

=МОД(B1-A1; 1)

Функция МОД возвращает остаток от деления. В этом случае она преобразует отрицательное время в положительное, "заворачивая" его через 24 часа.

Пример: для A1=23:00 и B1=01:00 результат будет 2:00 (а не -22:00).

⚠️ Внимание: Если вы используете вариант с МОД, убедитесь, что формат ячейки с результатом — [ч]:мм. Иначе Excel может округлить значение до 0.

Способ 3: Вычитание времени с учётом даты

Когда временные метки привязаны к конкретным датам (например, 15.05.2026 14:30), используйте стандартное вычитание, но с полным форматом даты и времени:

=B1-A1

Где:

  • A1 = 15.05.2026 09:00
  • B1 = 16.05.2026 17:30

Результат будет в формате даты и времени (например, 1 день 8:30). Чтобы отобразить только часы и минуты:

  1. Выделите ячейку с результатом.
  2. Откройте Формат ячеекВремя.
  3. Выберите [ч]:мм.

Теперь вы увидите общую продолжительность в часах: 32:30.

Что делать, если Excel показывает ###### вместо результата?

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

Способ 4: Вычитание времени с помощью функции РАЗНДАТ

Функция РАЗНДАТ (или DATEDIF в английской версии) полезна, когда нужно вычислить разницу между двумя датами в часах, минутах или секундах. Синтаксис:

=РАЗНДАТ(нач_дата; кон_дата; "md")

Где:

  • нач_дата и кон_дата — ячейки с датой и временем.
  • "md" — код единицы измерения:
    • "d" — дни,
    • "m" — месяцы,
    • "y" — годы,
    • "md" — разница в днях (игнорируя месяцы и годы),
    • "ym" — разница в месяцах (игнорируя дни и годы).

Чтобы получить разницу в часах, используйте комбинацию:

=РАЗНДАТ(A1; B1; "d") * 24 + ЧАС(B1) - ЧАС(A1)

Для минут:

=РАЗНДАТ(A1; B1; "d") * 1440 + ЧАС(B1)*60 + МИНУТЫ(B1) - (ЧАС(A1)*60 + МИНУТЫ(A1))
⚠️ Внимание: Функция РАЗНДАТ не документирована в официальной справке Excel, но работает во всех версиях. В Excel 365 её могут заменить на новые функции, поэтому проверяйте результат.

Способ 5: Вычитание времени с учётом рабочих часов

Если вам нужно посчитать только рабочее время (например, с 9:00 до 18:00, исключая обед), используйте комбинацию функций ЕСЛИ, МАКС и МИН:

=ЕСЛИ(

(B1>A1);

МИН(B1; $E$1) - МАКС(A1; $D$1) -

ЕСЛИ(И(A1<=$D$2; B1>=$E$2); $E$2-$D$2; 0);

0

)

Где:

  • $D$1 — начало рабочего дня (например, 09:00),
  • $E$1 — конец рабочего дня (например, 18:00),
  • $D$2 — начало обеда (например, 13:00),
  • $E$2 — конец обеда (например, 14:00).

Эта формула учитывает:

  • 🔹 Время до начала рабочего дня игнорируется.
  • 🔹 Время после конца рабочего дня игнорируется.
  • 🔹 Из интервала вычитается обеденный перерыв, если он попадает в рабочие часы.

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

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

Ошибка Причина Решение
###### Отрицательное время или узкий столбец Расширьте столбец или используйте формулу с ЕСЛИ/МОД
Результат в виде даты (например, 01.01.1900) Неправильный формат ячейки Измените формат на [ч]:мм или 13:30
Неверная разница (например, 20:00 вместо 4:00) Переход через полночь без корректировки Используйте формулу с +1 или МОД
Ошибка #ЗНАЧ! Ячейка содержит текст вместо времени Проверьте формат ячеек и исправьте данные

Ещё одна распространённая проблема — округление времени. Например, если в ячейке указано 9:15:30, но Excel воспринимает это как 9:16. Чтобы избежать округления:

  1. Увеличьте количество знаков после запятой в формате времени.
  2. Используйте функцию ВРЕМЯ для точного ввода:
    =ВРЕМЯ(9; 15; 30)

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

Как вычесть время, если в ячейке текст (например, "8 часов 30 минут")?

Используйте функции ЛЕВСИМВ, ПРАВСИМВ и ПСТР для извлечения часов и минут, затем преобразуйте их в числовой формат:

=ВРЕМЯ(ЛЕВСИМВ(A1; ПОИСК(" "; A1)-1); ПРАВСИМВ(A1; 2); 0)

Где A1 содержит текст "8 часов 30 минут".

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

Да, но для этого потребуется сложная формула с проверкой дня недели. Пример:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(B1;2)>5; ДЕНЬНЕД(A1;2)>5); 0; B1-A1)

Здесь ДЕНЬНЕД возвращает номер дня недели (1=воскресенье, 2=понедельник и т.д.). Формула обнуляет результат, если хотя бы одна из дат приходится на выходной.

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

Скорее всего, вы использовали абсолютные ссылки (например, $A$1) вместо относительных (A1). Исправьте адреса ячеек в формуле и повторите копирование.

Как посчитать сумму временных интервалов?

Выделите ячейки с временными значениями и используйте функцию СУММ. Убедитесь, что формат результата — [ч]:мм, иначе Excel покажет неверное значение.

Можно ли вычитать время в Google Sheets?

Да, все описанные методы работают и в Google Таблицах. Синтаксис функций идентичен, за исключением РАЗНДАТ — там она называется DATEDIF и поддерживает те же параметры.