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

Работа с временными данными в Microsoft Excel часто вызывает сложности даже у опытных пользователей. В отличие от числовых значений, время хранится в программе как дробная часть суток (где 1 = 24 часа, 0,5 = 12 часов, а 0,000694 = 1 минута), что приводит к неожиданным результатам при вычислениях. Например, если просто сложить 10:30 и 12:45, Excel может выдать 0:15 вместо ожидаемых 23:15 — и это не ошибка, а особенность формата.

В этой статье разберём 7 практических способов работы с временем: от базового сложения до расчёта переработок и перевода секунд в часы. Особое внимание уделим типичным ошибкам форматирования, которые портят 80% расчётов, и покажем, как их избежать. Все примеры протестированы в Excel 2019–2026 и Excel Online, но подойдут и для старых версий (начиная с Excel 2010).

1. Базовые формулы: сложение и вычитание времени

Начнём с простейших операций. Чтобы сложить или вычесть временные значения, используйте стандартные арифметические операторы + и -. Главное правило: ячейки должны иметь формат времени (иначе Excel воспримет 10:30 как текст).

Пример: в ячейке A1 указано 09:15 (время начала рабочего дня), а в B118:30 (время окончания). Чтобы посчитать продолжительность дня, введите в C1:

=B1-A1

Результат — 09:15 (9 часов 15 минут). Но если время пересекает полночь (например, 23:00 - 01:00), Excel покажет ошибку или некорректное значение. Решение — см. раздел про переход через полночь.

  • Сложение: =A1+B1 (например, 02:30 + 01:45 = 04:15)
  • ⏱️ Вычитание: =B1-A1 (например, 14:00 - 12:30 = 01:30)
  • 🔄 Умножение: =A1*2 (удвоит время, например, 01:30 * 2 = 03:00)
⚠️ Внимание: Если после вычитания видите ######, значит результат отрицательный (например, 08:00 - 10:00). Чтобы исправить, примените к ячейке условное форматирование или используйте функцию ЕСЛИ.
📊 Как часто вы работаете с временем в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

2. Форматирование ячеек: почему Excel показывает даты вместо времени

Одна из самых распространённых проблем — когда введённое времяSuddenly превращается в дату (например, 10:30 становится 10-мар). Это происходит из-за неверного формата ячейки. Исправить просто:

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

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

=ВРЕМЯ(часы; минуты; секунды)

Пример: =ВРЕМЯ(10; 30; 0) вернёт 10:30:00.

ПроблемаПричинаРешение
Вместо 10:30 видно 0,4375Ячейка в формате ОбщийПримените формат Время
Время отображается как ######Отрицательный результат или узкая ячейкаРасширьте столбец или используйте ЕСЛИ
При сложении 23:00 + 02:00 получается 01:00Переход через полночьИспользуйте =ЕСЛИ(B1

3. Расчёт времени через полночь (ночные смены)

Классическая ошибка: при вычитании 01:00 - 23:00 Excel возвращает -22:00 (или ######). Это происходит потому, что программа считает время в пределах одних суток. Решение — добавить 1 (полные сутки) к результату, если окончание раньше начала:

=ЕСЛИ(B1

Пример для ночной смены с 22:00 до 06:00:

  • 🌙 В A1: 22:00 (начало)
  • 🌅 В B1: 06:00 (окончание)
  • ⏳ В C1: =ЕСЛИ(B1 → результат 08:00.

Для удобства можно создать пользовательский формат, который будет показывать продолжительность более 24 часов. Выделите ячейку с результатом → Формат ячеекЧислоВсе форматы → введите:

[ч]:мм

Теперь 25:30 отобразится корректно, а не как 01:30.

Почему нельзя просто сложить 22

00 и 8:00?:Потому что Excel хранит время как долю суток (22:00 = 0,9167, а 8:00 = 0,3333). При сложении получается 1,25, что соответствует 30:00, но по умолчанию отображается как 06:00 (1,25 - 1 = 0,25). Пользовательский формат [ч]:мм заставляет Excel показывать полное значение.

4. Перевод часов/минут в десятичный формат (для оплаты труда)

Бухгалтерам и кадровикам часто нужно перевести часы:минуты в десятичное число (например, 08:308,5 для расчёта зарплаты). Для этого используйте:

=A1*24

Где A1 — ячейка с временем. Если нужно только часы или минуты отдельно:

  • Часы: =ЦЕЛОЕ(A1*24)
  • ⏱️ Минуты: =ОСТАТ(A1*1440; 60) (1440 = минут в сутках)
  • ⏲️ Секунды: =ОСТАТ(A1*86400; 60) (86400 = секунд в сутках)

Обратный перевод (из 8,5 в 08:30):

=ВРЕМЯ(ЦЕЛОЕ(A1); (A1-ЦЕЛОЕ(A1))*60; 0)
⚠️ Внимание: При переводе времени в десятичный формат не забывайте, что 12:00 = 0,5, а не 12. Если ваша формула даёт неверные результаты, проверьте формат исходной ячейки — он должен быть Время, а не Текст.

Ячейка с временем имеет формат Время|Формула умножает на 24 (не на 60!)|Результат отображается с 2 десятичными знаками|Для минут используется ОСТАТ, а не ЦЕЛОЕ

-->

5. Расчёт разницы между датой и временем (например, длительность задачи)

Если нужно посчитать интервал между двумя метками времени (например, 01.05.2026 14:30 и 03.05.2026 09:15), используйте простую разность:

=B1-A1

Но по умолчанию Excel покажет результат в формате даты. Чтобы отобразить его как 41:45 (41 час 45 минут), примените пользовательский формат:

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

Для выделения отдельно дней, часов и минут используйте:

  • 📅 Дни: =ЦЕЛОЕ(B1-A1)
  • Часы: =ЦЕЛОЕ((B1-A1)-ЦЕЛОЕ(B1-A1))*24)
  • ⏱️ Минуты: =ОСТАТ((B1-A1)*1440; 60)

6. Продвинутые функции: ЧАС, МИНУТЫ, СЕКУНДЫ

Для извлечения отдельных компонентов времени используйте специализированные функции:

  • 🕒 =ЧАС(A1) — возвращает часы (0–23)
  • ⏲️ =МИНУТЫ(A1) — возвращает минуты (0–59)
  • ⏱️ =СЕКУНДЫ(A1) — возвращает секунды (0–59)

Пример: если в A1 указано 15:47:22, то:

=ЧАС(A1) → 15

=МИНУТЫ(A1) → 47

=СЕКУНДЫ(A1) → 22

Эти функции полезны для условного форматирования. Например, чтобы выделить ячейки с временем после 18:00:

  1. Выделите диапазон.
  2. Условное форматированиеСоздать правилоИспользовать формулу.
  3. Введите: =ЧАС(A1)>=18.
  4. Задайте цвет заливки (например, красный).

Критическая особенность: функции ЧАС/МИНУТЫ/СЕКУНДЫ работают только с ячейками в формате Время или Дата. Если ячейка содержит текст (например, "15:47" в кавычках), функция вернёт ошибку #ЗНАЧ!.

7. Типичные ошибки и как их избежать

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

  1. Ошибка ######: появляется при отрицательном времени или если ячейка слишком узкая. Решение — расширьте столбец или используйте формулу с ЕСЛИ (см. раздел про полночь).
  2. Некорректное сложение: например, 23:00 + 02:00 = 01:00. Решение — примените формат [ч]:мм или используйте =A1+B1 с проверкой на переход через полночь.
  3. Текст вместо времени: если в ячейке '10:30 (с апострофом), Excel воспринимает это как текст. Решение — удалите апостроф или используйте =ВРЕМЯЗНАЧ(A1).
  4. Округление минут: при переводе в десятичный формат 08:20 становится 8,333, а не 8,34. Решение — используйте =ОКРУГЛ(A1*24; 2).
  5. Потеря секунд: при копировании времени из внешних источников секунды могут обрезаться. Решение — импортируйте данные через Данные → Из текста и укажите формат.

Проверьте свои знания:

📊 Какая ошибка встречалась у вас при работе с временем в Excel?
Отрицательное время (######)
Некорректное сложение (например, 25:00 → 01:00)
Текст вместо времени
Другое
Никогда не было ошибок

FAQ: Частые вопросы по формулам времени

Как посчитать сумму времени в Excel, если значений больше 24 часов?

Используйте пользовательский формат [ч]:мм. Например, если в столбце A1:A10 указано время, введите в ячейку результата:

=СУММ(A1:A10)

Затем примените к ячейке формат [ч]:мм (через Формат ячеек → Все форматы). Теперь сумма 25:30 отобразится корректно, а не как 01:30.

Почему функция ВРЕМЯ возвращает ошибку #ЧИСЛО!?

Ошибка возникает, если хотя бы один из аргументов (часы, минуты, секунды) выходит за пределы:

  • Часы: 0–23 (или 0–32767, если включён режим 1904)
  • Минуты/секунды: 0–59

Пример ошибки: =ВРЕМЯ(25; 0; 0). Решение — используйте =ВРЕМЯ(25 МОД 24; 0; 0) или разбейте значение на дни.

Как вычесть время с учётом выходных (например, для расчёта рабочих часов)?summary>

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

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(B1)=7; ДЕНЬНЕД(B1)=1); 0; B1-A1)

Где A1 и B1 — ячейки с временем начала и окончания. Формула вернёт 0, если день выходной (воскресенье или суббота).

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

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

  1. Ввести время с миллисекундами вручную (например, 10:30:22.500).
  2. Применить пользовательский формат: ч:мм:сс.000.
  3. Для вычислений использовать стандартные формулы (например, =B1-A1).

Обратите внимание: Excel хранит время с точностью до 1/300 секунды, поэтому миллисекунды будут округлены.

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

Используйте комбинацию функций СЕЙЧАС и ЕСЛИ с событием Worksheet_Change в VBA. Пример кода для листа:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A10")) Is Nothing Then

Target.Offset(0, 1).Value = Now

End If

End Sub

Этот код будет записывать текущую дату и время в ячейку справа (Offset(0, 1)) при изменении диапазона A1:A10.