Трюк №76. Отображение общего количества времени в днях, часах и минутах

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

Например, общее время 75 часов 45 минут и 00 секунд обычно выводится как 75:45:00, если ячейка отформатирована с использованием пользовательского формата [ч]:мм:сс ([h]:mm:ss), который позволяет выводить количество часов, большее 24. Хотя это определенно правильный результат, он означает, что необходимо вручную сосчитать, сколько дней, часов и минут заключено в этом времени. Это может быть долгой и не защищенной от ошибок работой.

Предположим, список допустимых значений времени в ячейках А1:А10. В ячейке АИ находится обычная функция СУММ (SUM), которая суммирует общее количество часов, то есть =SUM($A$1:$A$10). Если общее количество часов превышает 24, результирующая ячейка, содержащая функцию СУММ (SUM), должна быть отформатирована как [ч]:мм ([h]:mm). Предположим, получен результат 306:26:00, который, конечно же, представляет 306 часов и 26 минут. Однако это не говорит о том, сколько дней, часов и минут содержится в итоговом значении времени.

Чтобы результат отображался в днях, часах и минутах, воспользуйтесь следующей формулой =INT(A11)&" Days "&INT(MOD(A11;INT(A11))*24)&" Hours and "&MINUTE(A11)&" Minutes", в русской версии Excel =ЦЕЛОЕ(А11)&" дней "&ЦЕЛОЕ(ОСТАТ(А11;ЦЕЛОЕ(АШ)*24)&" часов и "&МИНУТЫ(А11)&" минут".

Предполагая, что в ячейке АИ содержится значение 306:26:00, мы получим в результате 12 дней, 18 часов и 26 минут. Посмотрим, как это работает. Если вы не знаете, как Excel хранит и использует даты и время, сначала нужно прочитать и понять раздел «Трюк № 38. Трюки с возможностями даты и времени в Excel».

Выделите ячейку с результатом выполнения формулы и щелкните кнопку Вставка функции (Install function) слева от строки формул (знак равенства в ранних версиях Excel для Windows и в версии Excel для Macintosh). Щелкните первое вхождение функции ЦЕЛОЕ (INT) в строке формул. Эта функция возвращает целую часть числа 12,76805556. Результат равен количеству дней.

Затем необходимо определить, сколько часов останется, если от исходного значения отнять 12 дней. Щелкните вторую функцию ЦЕЛОЕ (INT) в строке формул. Здесь функция ОСТАТ(А11,ЦЕЛОЕ(А11) (MOD(A11,INT(A11)) возвращает остаток от деления 12,76805556 на 12, равный 0,76805556 (количество минут, представленное в виде десятичного числа). Теперь это число умножается на 24 (что дает 18,433333), возвращая количество минут. Так как нам нужна только целая часть (18), мы вложили формулу MOD(A11,INT(A11))*24 (ОСТАТ(А11,ЦЕЛОЕ(А11))*24) в функцию ЦЕЛОЕ (INT). Щелкните функцию МИНУТЫ (MINUTE) в строке формул. Функция возвращает значение 26 на основе порядкового числа 12,76805556.

Результат, возвращаемый функцией МИНУТЫ (MINUTE), никогда не будет числовым значением, поэтому нужно сохранить исходную функцию СУММ (SUM), которая возвращает общее количество часов для значения в ячейке. Этот результат можно использовать в дальнейших вычислениях. Строку, содержащую общее количество часов, конечно же, можно скрыть.

Top