2014-11-12 15 views
0

Я ищу некоторые подсказки для преобразования результата, который у меня есть в ячейке от текста до длинного.Excel - преобразование текста в результат

В Cell А1 у меня есть: "8 дней 5 часов 10 минут" В ячейке В1 у меня есть: "8 * 86400 + 5 * 3600 + 10 * 60", который у меня с некоторыми "substitue" функция

здесь есть функция: "" = ЗАМЕЩЕНИЕ (ЗАМЕЩЕНИЕ (ЗАМЕЩЕНИЕ (ЗАМЕЩЕНИЕ (А1; "дни"; "* 86400"), "часы", "* 3600"), "минуты"; * 60 ");" ";" + "),"»

В ячейке C1 я хотел бы результат

Моя проблема: мне нужно, чтобы это «8 * 86400 + 5 * 3600 + 10 * 60» было «709800», и я не могу найти способ его достичь.

Я думал, что это связано с формированием моих ячеек, но я пробовал все, и это не сработало. Могу поспорить, что я пробовал все функции excel ...

Я застрял на самом деле и искал хорошие идеи.

Благодарим за помощь или помощь!

File_picture

+0

Вы не получите ** исполняемую формулу **, как это. Только ** текст формулы. ** – Taosique

+0

Можно ли использовать ** C1 ** для выполнения этого текста? Это решение, но я не могу найти способ его применения. – dOyL

+0

Только с VBA. Смотрите это http://stackoverflow.com/questions/4471884/turn-a-string-formula-into-a-real-formula – Taosique

ответ

1

Вот формула, чтобы выполнить расчет из вашей строки. Он опирается на формат, как вы уже выше, с одним пробелом между каждым элементом в строке.

=SUMPRODUCT(--TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),{1,198,396},99)),{86400,3600,60}) 

Формула создает массив соответствующих значений, а затем применяет соответствующий множитель.

Если там может быть больше, чем один пробел между каждым сегментом, а затем использовать:

=SUMPRODUCT(--TRIM(MID(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),{1,198,396},99)),{86400,3600,60}) 
Смежные вопросы