Как посчитать количество минут между двумя временами в Excel: формулы и лайфхаки

Почему простой вычитания времени в Excel не всегда даёт минуты

Вы когда-нибудь пытались вычесть одно время из другого в Microsoft Excel, ожидая получить разницу в минутах, но вместо этого видели странные дроби или даты? Это типичная проблема, с которой сталкиваются и новички, и опытные пользователи. Дело в том, что Excel хранит даты и время как числа: каждая дата — это количество дней с 1 января 1900 года, а время — дробная часть этого числа (где 1 = 24 часа, 0,5 = 12 часов, 0,000694 = 1 минута).

Когда вы вычитаете 12:30 из 14:45, Excel по умолчанию показывает результат в формате времени (02:15), а не в минутах (135). Чтобы получить именно минуты, нужно либо изменить формат ячейки, либо использовать специальные формулы. В этой статье мы разберём 5 рабочих способов, включая обработку перехода через полночь, учёт секунд и автоматизацию для больших таблиц.

Предупреждение: если вы работаете с временными метками, которые пересекают границу суток (например, 23:45 и 01:10), стандартное вычитание даст неверный результат. Для таких случаев потребуются дополнительные настройки.

Способ 1: Простое вычитание с изменением формата ячейки

Самый быстрый метод — вычесть одно время из другого, а затем преобразовать результат в минуты через формат ячейки. Вот как это сделать:

  1. Введите времена в две ячейки, например, A1: 14:45 и B1: 12:30.
  2. В третьей ячейке (C1) напишите формулу:
    =B1-A1
  3. Нажмите Ctrl+1 (или правой кнопкой → Формат ячеек), выберите категорию Числовой и установите 0 десятичных знаков.
  4. Excel покажет разницу в днях. Чтобы перевести в минуты, умножьте результат на 1440 (количество минут в сутках):
    = (B1-A1)*1440

Пример: если в A1 указано 18:20, а в B115:50, формула вернёт 150 минут.

Ячейки с временем имеют формат "Время" (не "Общий" или "Текст")|Формула умножается на 1440 для перевода в минуты|Учтён знак: если время окончания раньше начала, результат будет отрицательным|Для ночного перехода (например, 23:00–02:00) используйте способ 3-->

⚠️ Внимание: Если одно из времён введено как текст (например, через копирование из внешнего источника), Excel не распознает его как время. Проверьте формат ячейки: выделите её, нажмите Ctrl+1 и выберите Время.

Способ 2: Формула РАЗНДАТ для точного расчёта

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

=РАЗНДАТ(0; (B1-A1); "md")

Здесь:

  • 📅 0 — условная "нулевая дата" (1 января 1900 года).
  • 🕒 (B1-A1) — разница между временами, которую Excel воспринимает как дробное число дней.
  • 🔢 "md" — код формата, возвращающий разницу в днях ("d") и месяцах ("m"), но при умножении на 1440 мы получим минуты.

Однако этот метод требует корректировки: результат РАЗНДАТ нужно умножить на 1440 и округлить до целого числа:

=ОКРУГЛ(РАЗНДАТ(0; (B1-A1); "d")*1440; 0)
Почему "md" не работает напрямую?

Функция РАЗНДАТ изначально предназначена для календарных дат, поэтому параметр "md" возвращает разницу в месяцах и днях, а не минутах. Применение "d" даёт количество дней, которое мы затем конвертируем в минуты умножением на 1440 (24 часа × 60 минут).

Способ 3: Учёт перехода через полночь

Если временной интервал пересекает 00:00 (например, с 22:30 до 01:15), простое вычитание даст отрицательное значение или неверный результат. Решение — добавить 1 (полные сутки) к разнице, если время окончания меньше времени начала:

=ЕСЛИ(B1

Разбор формулы:

  • 🔄 ЕСЛИ(B1 — проверяет, не перешёл ли интервал через полночь.
  • B1+1 — добавляет 1 день (24 часа) к времени окончания, если оно меньше времени начала.
  • ⏱️ *1440 — конвертирует дни в минуты.

Пример: для интервала 23:45–00:30 формула вернёт 45 минут (а не -1395, как при простом вычитании).

📊 Какой способ вы используете чаще всего?
Простое вычитание с умножением на 1440
Функция РАЗНДАТ
Формула с учётом полночи (ЕСЛИ)
Другие методы

Способ 4: Расчёт с учётом секунд

Если вам нужна разница в минутах с точностью до секунды (например, для тайм-трекинга или спортивных замеров), используйте формулу:

= (B1-A1)*86400/60

Пояснения:

  • 86400 — количество секунд в сутках (24 × 60 × 60).
  • /60 — делит секунды на 60, чтобы получить минуты.
  • 📊 Результат будет дробным (например, 120,5 минут = 2 часа 0 минут 30 секунд).

Чтобы отобразить минуты и секунды отдельно:

=ЦЕЛОЕ((B1-A1)*1440) & " мин " & ОКРУГЛ((B1-A1)*86400-ЦЕЛОЕ((B1-A1)*1440)*60; 0) & " сек"

Эта формула вернёт строку вида "120 мин 30 сек".

Способ 5: Автоматизация для больших таблиц

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

Алгоритм:

  1. Введите формулу в первую ячейку (например, = (B2-A2)*1440).
  2. Протяните её вниз за правый нижний угол ячейки (появится крестик).
  3. Добавьте условное форматирование: выделите столбец с результатами → Главная → Условное форматирование → Правила выделения ячеек → Меньше чем → укажите 0 и выберите красный цвет (для отрицательных значений).

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

=ЕСЛИ(ИЛИ(A2=""; B2=""; (B2-A2)*1440<0); "Ошибка"; "OK")
Начало Конец Формула Результат (минуты) Статус
09:15 17:45 = (B2-A2)*1440 510 OK
22:30 01:10 =ЕСЛИ(B2 160 OK
14:00 текст = (B3-A3)*1440 #ЗНАЧ! Ошибка

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

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

  • Текст вместо времени: Если ячейка отображает время как 12:30:00 AM вместо 12:30, проверьте формат. Выделите ячейку → Ctrl+1 → выберите Время.
  • Отрицательные минуты: Возникают, если время окончания раньше начала. Используйте формулу с ЕСЛИ (способ 3).
  • #ЗНАЧ!: Появляется, если в ячейке текст или пустое значение. Добавьте проверку:
    =ЕСЛИОШИБКА((B1-A1)*1440; "Данные некорректны")
  • Неверный формат результата: Excel может округлить минуты до часов. Установите формат ячейки как Числовой с 0 десятичных знаков.
⚠️ Внимание: Если вы импортируете данные из CSV или Google Sheets, время может автоматически конвертироваться в формат даты вашей системы. Перед расчётами проверьте, что в ячейках именно время, а не текст, с помощью функции =ТИП(B1) (должен вернуть 2 для текста или 1 для числа).

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

Можно ли посчитать минуты между датой и временем (например, 01.01.2023 14:30 и 02.01.2023 09:15)?

Да, используйте ту же формулу = (B1-A1)*1440, где A1 и B1 содержат полные даты с временем. Excel автоматически учтёт разницу в днях. Например, для указанного интервала результат будет 1065 минут (17 часов 45 минут).

Почему моя формула возвращает ###### вместо числа?

Это означает, что столбец слишком узкий для отображения результата. Расширьте его или измените формат ячейки на Числовой. Также проверьте, не является ли результат отрицательным (например, при вычитании 10:00 - 12:00).

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

Сначала приведите оба времени к одному поясу. Например, если в A1 время по UTC+3, а в B1 — по UTC+0, используйте формулу:

= (B1 - A1 + ВРЕМЯ(3;0;0)) * 1440

Где ВРЕМЯ(3;0;0) добавляет 3 часа к разнице.

Можно ли автоматически суммировать минуты по столбцу?

Да, но предварительно убедитесь, что все ячейки содержат числа (минуты), а не текст или время. Используйте:

=СУММ(C1:C100)

Если в столбце C уже посчитаны минуты для каждого интервала.

Как экспортировать результаты в Google Sheets?

Формулы работают аналогично, но в Google Sheets функция РАЗНДАТ называется DATEDIF. Для учёта полночи используйте:

=IF(B1

Также в Google Sheets можно использовать =ARRAYFORMULA для массовых расчётов.