Мне нужно преобразовать количество десятичных часов (пример: 4,96) и прочитать 4:57:36 (4 часа, 57 минут, 36 секунд) в электронной таблице Excel 2003. У меня уже есть эта формула, но она не показывает секунды. Возвращает результат 4:58.

Вот формула:

=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)

Что мне нужно изменить, чтобы показывать секунды тоже?

4 ответа4

6

Разве вы не можете просто разделить на 24 и отформатировать ячейку результата как [ч]: мм: сс?

=A1/24

1

пытаться

=(INT(A1)/1440+MOD(A1,1)/1440)*60

Редактировать: если вы настаиваете на выводе текста (со всеми вытекающими отсюда негативными последствиями), просто оберните формулу в функцию Text ().

=TEXT((INT(A1)/1440+MOD(A1,1)/1440)*60,"hh:mm:ss")
0

Вы можете использовать приведенную ниже формулу,

если вы хотите преобразовать десятичное число (A2) 10,58

=TEXT(A2/24,"hh:mm:ss")

ответ будет 10:34:48

0

Предполагая, что ваш H:M работает правильно, самый простой способ - преобразовать десятичные значения часа в секунды и использовать MOD, чтобы проверить разницу с делением на 60.

Таким образом, формула будет:

=TRUNC(A1)&":"&REPT("0",2-LEN(ROUND(60*(A1-TRUNC(A1)),0)))&ROUND(60*(A1-TRUNC(A1)),0)&":"&REPT("0",2-LEN(ROUND(MOD(A1*60*60,60),0)))&ROUND(MOD(A1*60*60,60),0)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .