Извлечь число между скобками в Excel?

Я искал вверх и вниз ответ на этот вопрос, но не нашел ничего, что я мог бы заставить работать. Вполне возможно, что мне не хватает знаний в более «кодовых» аспектах Excel.

В любом случае, это моя ситуация: в C2-C17 у меня есть текст, подобный этому: [2] Название задания. «[2]» указывает количество часов, которое, как мы ожидаем, займет задание, остальное — название задания.

Теперь мне нужно рассчитать, сколько часов все это в сумме, поэтому в B2-B17 (числа изменятся) я хотел бы извлечь число в скобках, в данном случае «2», поэтому я могу просто вычислить и добавить их вверх.

Как мне это сделать? К настоящему времени я провел слишком много времени на работе, пытаясь найти решение, которое работает для меня.

Любая помощь будет очень высоко ценится!


person Philip Ask Zeplin-Frederiksen    schedule 10.03.2015    source источник


Ответы (3)


Используйте формулы: MID(cell,start_num, length) и FIND(text,cell)

Итак, формула:

=MID(B3, FIND("[",B3)+1, FIND("]",B3) - FIND("[",B3) - 1)

Это означает: извлеките текст из ячейки B3, начиная с местоположения символа «[» плюс 1 в той же ячейке, и общее количество символов вычисляется по: местоположению «]» - местоположению «[» минус один.

person Necho    schedule 10.03.2015

Копировать в новый столбец, Найти и заменить, Найти что:

*[  

Заменить все. Найти то, что:

]*  

Заменить все.

person pnuts    schedule 10.03.2015
comment
Хотелось бы формулу, которую я мог бы просто скопировать/вставить, но в качестве резервного варианта это тоже работает, большое спасибо! :) - person Philip Ask Zeplin-Frederiksen; 10.03.2015

Есть функция работы с подстроками: "MID"

введите здесь описание изображения

В ячейке C3 есть формула. Мы предполагаем, что строка всегда будет начинаться с [, а затем будет числом часов (1 цифра).

введите здесь описание изображения

Затем я просто расширяюсь до других ячеек от C3 до F3.

Вы можете добавить функцию замены для работы с двузначными числами.

введите здесь описание изображения

person Almazini    schedule 10.03.2015
comment
С небольшими исправлениями у меня получилось, спасибо! Но я должен был быть более конкретным (я не думал, что это имеет значение в том, как это было сделано): иногда число будет 2,5 или 3,25 и так далее, поэтому мне нужно извлечь все число между скобки, и длина символа этого числа может варьироваться. Есть ли способ обойти это? - person Philip Ask Zeplin-Frederiksen; 10.03.2015
comment
Ладно, я понял. Да, есть способ динамически поймать длину и место. Это описано в другом ответе @Necho - person Almazini; 10.03.2015
comment
=СРЕДН(B3, НАЙТИ([,B3)+1, НАЙТИ(],B3) - НАЙТИ([,B3) - 1) - person Almazini; 10.03.2015
comment
@PhilipAskZeplin-Frederiksen, так что не стесняйтесь голосовать за мой ответ! (стрелка вверх) и одобрить его - person Almazini; 25.03.2015