Формула для перевода часов мин в число - PullRequest
0 голосов
/ 07 мая 2019

Я использую формулу для отображения 3 hours 7 mins как 3,7.Однако формула не работает правильно, как должно быть 3,07, также есть проблемы с , и . в зависимости от версии Excel.

Мне не нужно, чтобы оно было 3,07 или 3,7.Мне нужна формула для округления до 3,5 или 4. Так что, если это 3,07, то должно быть 3,5.В основном, условие: если mins или min меньше 30, то это ,5, если больше 30, то следующее ,0.Тогда эта формула должна дать в результате 35 и разделить ее на 10. Так, например, 35/10 или 40/10.Тогда не будет проблем с , и . в разных версиях Excel.

ПРИМЕЧАНИЕ!Значение в P96 взято из API Карт Google xml и показывает время в пути из одного места в другое.Иногда 3 hours 7 mins, 20 hours 37 mins, а иногда 1 hour 1 min

Текущее решение:

=SUBSTITUTE(CEILING(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(ISERROR(SEARCH("hour", P96)), "0 hours ", "")&P96,"s","")," min","")," hour ","."),0.1), ".", ",")

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

Если перед и после каждого номера всегда есть пробел, попробуйте следующее:

=LEFT(P96,2)+LOOKUP(--MID(P96,FIND("min",P96)-3,3),{1,30},{0.5,1})

Это означает, что от 1 до 29 минут преобразуются в 0,5, а> = от 30 до 1.

2 голосов
/ 07 мая 2019

Вы можете попробовать:

=IF(VALUE(IF(FIND("min",A2,1)=11,MID(A2,FIND("min",A2,1)-2,1),MID(A2,FIND("min",A2,1)-3,2)))<30, VALUE(LEFT(A2,FIND("hour",A2,1)-2)) & "." &  5,VALUE(LEFT(A2,FIND("hour",A2,1)-2))+1)

Результаты:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...