Excel — Преобразование текста в результат

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

В ячейке A1 у меня есть: «8 дней 5 часов 10 минут». В ячейке B1 у меня есть: «8*86400+5*3600+10*60». с некоторой функцией "замены"

вот функция: ""=ЗАМЕНА(ЗАМЕНА(ЗАМЕНА(ЗАМЕНА(A1;"дни";"*86400");"часы";"*3600");"минуты";"*60");" " ;"+")""

В ячейке C1 мне нужен результат

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

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

На самом деле я застрял и ищу хорошие идеи.

Спасибо за помощь или советы!

Изображение файла


person dOyL    schedule 12.11.2014    source источник
comment
Вы не получите исполняемую формулу в таком виде. Только текст формул.   -  person ttaaoossuuuu    schedule 12.11.2014
comment
Можно ли использовать C1 для выполнения этого текста? Это решение, но я не могу найти способ его применить   -  person dOyL    schedule 12.11.2014
comment
Только с VBA. См. этот stackoverflow. ком/вопросы/4471884/   -  person ttaaoossuuuu    schedule 12.11.2014
comment
О, большое спасибо, я не нашел его в стеке, я полагаю, что использовал не самые лучшие ключевые слова. теперь это работает !   -  person dOyL    schedule 12.11.2014
comment
stackoverflow.com/questions/11967493 / показывает и без подхода vba.   -  person ZAT    schedule 12.11.2014
comment
я пробовал это, прежде чем использовать VBA, и это не сработало для меня. Но спасибо за помощь   -  person dOyL    schedule 12.11.2014


Ответы (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})
person Ron Rosenfeld    schedule 12.11.2014