Перевод часов в формате времени в десятичные дроби в Excel.
Порой случаются ситуации, когда выгрузки трудозатрат из различных баз данных производятся в формате времени. Если в программе Excel просто изменением формата поставить «Числовой» вместо формата «время», получаются совсем некорректные цифры непригодные для проведения расчетов.
Рассмотрим, каким образом перевести трудозатраты из временного формата в десятичные дроби с целью проведения дальнейших вычислений.
№ п.п. | Месяц выполнения работ | Подразделение | Должность | Планируемое время на выполнение работы | Планируемое время на выполнение работы в часах |
1 | Сентябрь | Слесарный цех | Инженер по ПБ | 3:00:00 | 3,0 |
2 | Сентябрь | Слесарный цех | Инженер-энергетик | 21:20:00 | 21,33 |
Сделать это можно при помощи системы функций (формул).
Самый простой способ перевода используется, когда трудозатраты не могут быть более суток, то есть не превышают 24 часа.
Для перевода используется следующая функция:
ЕСЛИ(ОКРУГЛ(МИНУТЫ(Q58)/60*100;0)>9;СЦЕПИТЬ(ЧАС(Q58);»,»;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0));СЦЕПИТЬ(ЧАС(Q58);»,0″;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0))), где –
Функция ЧАС(G4 ) выводит целое количество часов;
Функция МИНУТЫ(G4) выводит целое количество минут;
Функция ЕСЛИ сравнивает полученное значение сотых долей и, если количество сотых менее 9, добавляет «ноль» десятых долей.
ОКРУГЛ(МИНУТЫ(G4)/60*100;0) – преобразует минуты в часы десятичной дробью;
СЦЕПИТЬ – сцепляет целые часы с дробными частями через символ «,».
Эта система функций имеет небольшой недостаток, ЧАС(G4 ) выводит целое количество часов только до значения 24, не более. Если у вас стоит время (трудозатраты) 26:25 часов, то ЧАС(G4 ) будет равен 2.
Для тех случаев, когда трудозатраты более суток, то есть превышают 24 часа, можно использовать следующую систему:
=ЕСЛИ(ОКРУГЛ(МИНУТЫ(Q58)/60*100;0)>9;СЦЕПИТЬ((ЧАС(Q58)+ДЕНЬ(Q58)*24);»,»;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0));СЦЕПИТЬ((ЧАС(Q58)+ДЕНЬ(Q58)*24);»,0″;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0)))
, где добавлена функция ДЕНЬ(G4), выводящая количество целых дней.
Как мы знаем целый (полный ) день состоит из 24 часов, соответственно ДЕНЬ(G4)*24 будет равно количеству часов в полных днях. Если к этим часам добавить количество часов в неполных днях, то получим общее количество часов: (ЧАС(G4)+ДЕНЬ(G4)*24)
Если часов набегает больше чем на 31 день, можно по аналогии применить систему функций:
ЕСЛИ(ОКРУГЛ(МИНУТЫ(Q58)/60*100;0)>9;СЦЕПИТЬ((ЧАС(Q58)+ДЕНЬ(Q58)*24+(МЕСЯЦ(G4)-1)*31*24);»,»;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0));СЦЕПИТЬ((ЧАС(Q58)+ДЕНЬ(Q58)*24+(МЕСЯЦ(G4)-1)*31*24);»,0″;ОКРУГЛ(МИНУТЫ(Q58)/60*100;0)))