У меня есть текст в формате "1w1d1h1m" в книге Excel.

Есть ли способ, которым Excel может преобразовать этот формат времени в количество часов?

3 ответа3

1

Предполагая, что неделями будут любое количество цифр, дни 1 цифра (от 0 до 6) и часы и минуты до 2 цифр, эта формула должна работать для любой комбинации присутствующих w, d, h, m

=IFERROR(LEFT(A1,FIND("w",A1&"w")-1)*168,0)+IFERROR(MID(A1,FIND("d",A1)-1,1)*24,0)+IFERROR(LOOKUP(10^3,MID(A1,FIND("h",A1)-{1,2},{1,2})+0),0)+IFERROR(LOOKUP(10^3,MID(A1,FIND("m",A1)-{1,2},{1,2})+0)/60,0)

0

Предполагая, что значение времени, с которым вы работаете, является строкой, следующая формула должна сделать это:

=IFERROR(LEFT(A1,SEARCH("w",A1)-1)*168,0)+IFERROR(MID(A1,SEARCH("w",A1)+1,SEARCH("d",A1)-SEARCH("w",A1)-1)*24,0)+IFERROR(MID(A1,SEARCH("d",A1)+1,SEARCH("h",A1)-SEARCH("d",A1)-1),0)+IFERROR(MID(A1,SEARCH("h",A1)+1,LEN(A1)-SEARCH("h",A1)-1)*(1/60),0)

Если какой-либо из элементов строки времени отсутствует, эта категория времени считается как 0.

0

Формула для этого может быть довольно длинной (как только что показал @chuff!) но если гарантируется, что буквы никогда не будут смежными, то я бы предложил заменить w на m, d на m и h на m, а затем на текст в столбцы, используя m в качестве разделителя, и завершить формулой =168*A2+24*B2+C2+D2/60 , при условии, что ваша дата началась в A2 (может быть скопирована).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .