Предполагая, что ваш текст 0h 31m 3s находится в ячейке b2, вы можете использовать следующую формулу:
=--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,"h ",":"),"m ",":"),"s","")
И затем установите формат ячейки B2 на Time вместо General.
В качестве альтернативы если вы не хотите, чтобы ваше время было числом, но примете его как текст, и вы не хотите играть с форматированием ячеек, вы можете использовать следующее, которое даст результат текстового значения для времени:
=TEXT(--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,"h ",":"),"m ",":"),"s",""),"hh:mm:ss")
Третий вариант, который легче понять, если его разбить на части, - это вычеркнуть число часов, минут и секунд. Затем поместите эти формулы в соответствующую часть ВРЕМЕНИ (часы, минуты, секунды):
Hours
=LEFT(B2,FIND(" ",B2)-2)
Minutes
=MID(B2,FIND(" ",B2)+1,FIND("m",B2)-FIND(" ",B2)-1)
Seconds
=LEFT(RIGHT(B2,3),2)
Combined in Time
=TIME(LEFT(B2,FIND(" ",B2)-2),MID(B2,FIND(" ",B2)+1,FIND("m",B2)-FIND(" ",B2)-1),LEFT(RIGHT(B2,3),2))
Вариант 3, аналогичный варианту 1, возвращает число для времени, с которым Excel может работать намного проще, чем текст. Ключ к тому, чтобы он отображался так, как вы хотите, - это настроить форматирование ячейки на время использования пользовательского формата ЧЧ: ММ: СС.
PO C