Как извлечь значение из значения, отформатированного по времени, в Excel?
О значениях ниже
column1 - имеет следующий формат => чч:мм:сс.000
column2 - это десятичное значение column3
- это = column2, но я отформатировал это как чч:мм:сс.000
Я хочу иметь возможность извлечь 5 или 005 из столбца 3 выше. Как мне это сделать? Чтобы получить час, минуту или секунду, я могу использовать функции часа, минуты или секунды соответственно.
Но как в этом случае извлечь тысячную секунду, например, .005?
ПРИМЕЧАНИЕ:
1 секунда = 1,15741E-05(=1/86400)
0,005*(1/86400) = 0,00000005787 = десятичное представление 5 тысяч секунды (0,005). Все, что мне нужно сделать, это изменить формат ячейки, чтобы hh:mm:ss.000
представить ее по-другому.
решение1
Со временем в камереА1, использовать:
=RIGHT(TEXT(A1,"hh:mm:ss.000"),3)
выдает миллисекунды в виде текста, а если вам нужно в виде числа:
=RIGHT(TEXT(A1,"hh:mm:ss.000"),3)*1
(вторая формула дает число миллисекунд в видецелое число)
Аналогичные формулы могут фиксировать часы, минуты или секунды как целые числа.
решение2
Это вернет долю секунд в виде целого числа:
=MOD(A1*86400,1)*1000
Мод удаляет все, кроме дробной части секунды, и * 1000
превращает ее в целое число.
решение3
Кажется, есть много изящных способов сделать это. Вот еще один:
=(B8-TIME(HOUR(B8),MINUTE(B8),SECOND(B8)))*86400*1000
Где время в ячейке B8.
решение4
Если я правильно понял, вы хотите, чтобы результат был 0.005
в виде числа
Лучшим вариантом может быть извлечение долей секунды в виде строки и преобразование ее в число. Это должно сработать:
=VALUE("0." & RIGHT(TEXT(E5,"hh:mm:ss.000"),LEN(TEXT(E5,"hh:mm:ss.000"))-FIND(".",TEXT(E5,"hh:mm:ss.000"))))