Страницы: 1
RSS
Перевести текстовое значение "114 минут 32 секунды" во время
 
дана таблица значений
89 мин 58 сек
120 мин 49 сек
эти значения должны быть переведены соответственно
1 29 58
2 00 49 сек
как можно это сделать?
 
Как вариант на скору руку неоптимизированная UDF
Код
Function stelsa(s As String) As String
    Dim a
    a = Split(s)
    stelsa = Fix(--a(0) / 60) & " " & Format(--a(0) - 60 * Fix(--a(0) / 60), "00") & " " & a(2)
End Function

убегаю, некогда упрощать...
P.S. "сек" когда/если нужно добавьте сами в хвост результату.
Изменено: Hugo - 20.12.2017 20:33:44
 
Спасибо, однако сложно, все проще может быть решено через функции встроенные
 
=ЛЕВБ(A2;ПОИСК("мин";A2)-1)/1440+ПСТР(A2;ПОИСК("мин";A2)+3;3)/86400
Формат ячейки - Время

В названии темы - "минут", в сообщении - "мин". Для примера только две строки, в которых минуты-секунды... Других данных быть не может (без минут, секунд, с часами...)?
 
а если нет часов или нет мин или нет сек. или вообще ячейка пустая, то должно быть 00.00.00
 
О, уже третий вариант :)
 
Формула не работает, если о часов о мин о сек, или просто указано время в сек без мин и час.
 
Правильно. Ищете слово "мин" там, где его нет (а ведь в первом примере минуты есть везде).
Пишите доп.проверку:
=ЕСЛИ(ЕЧИСЛО(ПОИСК(...));формула;"нет_минут")
 
не получается аленький цветочек
 
Вот сейчас в примере секунды (слово "сек") есть во всех значениях. Так и будет в рабочем файле?
Или Вам сделают формулу, а Вы опять на форум - изменились вводные данные.

Тему нужно создавать после обдумывания вопроса, а не с бухты-барахты и потом докидывать условия.
Цитата
не получается
Так, наверное, нужно показывать, где не получается, чтобы Вам могли подсказать, в чем Ваша ошибка. А вдруг в данных опять какая-то новость?
 
данные прежние....а формула не работает когда левая ячейка пустая. должно быть 0:00:00
 
А где Ваш недоделанный аленький цветочек?
Цитата
наверное, нужно показывать
 
Stelsa, вот так работает кроме строки 16 в файле из #7
Код
=--("0:"&ПОДСТАВИТЬ(ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";B2));ПОДСТАВИТЬ(B2;" мин. ";":");"0:"&B2);" сек";""))


Так работает для всего примера
Код
=--("0:"&ПОДСТАВИТЬ(ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";B2));ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;" ";"");"мин.";":");"0:"&B2);"сек";""))
Изменено: Казанский - 12.01.2018 19:35:03
 
Для всей таблицы должна быть 1 формула
1 строка не получается.
 
вот как бы так выходит
 
Большое спасибо, теперь буду разъяснять дочери как это получается.
 
Вариант с формулой
Код
=IFERROR(IFERROR(MID(B2;1;SEARCH("мин";B2)-2);0)/1440+TRIM(MID(B2;IFERROR(SEARCH(".";B2);0)+1;SEARCH("сек";B2)-IFERROR(SEARCH(".";B2);0)-2))/86400;0)
 
Большое спасибо ВСЕМ, что не оставили задачу без внимания. Родители порой не в силах решать домашние задания 11 класса
Страницы: 1
Наверх