=ПСТР(Текст; Поиск_первой_позиции(«(«:Текст)+1,Поиск_второй _позиции(«)»;Тектс)-Поиск_первой_позиции(«(«;Тектс)-1)
Чтобы извлечь текст между скобками, вы можете использовать формулу, основанную на функции ПСТР () и функции ПОИСК ().
В показанном примере, формула в E7:
=ПСТР(D7;ПОИСК(«(«;D7)+1;ПОИСК(«)»;D7)-ПОИСК(«(«;D7)-1)
Основой этой формулы является функция ПСТР () , которая извлекает определенное количество символов из текста, начиная с определенного места.
Найти «Поиск_первой_позиции» с какой позиции начинать извлечение текста, мы используем это выражение:
ПОИСК(«(«;D7)+1
Начало позиции: 14+1=15
Функция ПОИСК () находит позицию скобку в тексте, а затем уберем саму скобку с первой позиции прибавив единицу.
Для нахождения «Поиск_второй _позиции» второй скобки, мы используем это выражение:
ПОИСК(«)»;D7)-1
Начало второй позиции: 18-1=17
Функция ПОИСК () находит позицию скобки в тексте, а затем уберем саму скобку с последней позиции отняв единицу.
Чтобы получить общее количество символов, которые должны быть извлечены надо найти разницу между Второй позицией и первой получив, количество символов для извлечения как в выражении:
ПОИСК(«)»;D7)-ПОИСК(«(«;D7)-1)
Вторая позиция, отнять первую, получим количество символов для извлечения
17 — 14 =3 2,4
И соберем всю формулу как в ячейке E7:
=ПСТР(D7;ПОИСК(«(«;D7)+1;ПОИСК(«)»;D7)-1-ПОИСК(«(«;D7))
=ПСТР(Текст; позиция первая скобка; позиция Вторая скобка)
=ПСТР(Текст;14+1;17-1-14)
Можно прибавить ноль в конце и получить в место текстового значения цифровое.
=ПСТР(D7;ПОИСК(«(«;D7)+1;ПОИСК(«)»;D7)-1-ПОИСК(«(«;D7))+0
Как формулой Excel вытащить текст в скобках
Далее будет приведена формула, позволяющая извлечь текст находящийся в круглых скобках, но в начале хотелось бы подчеркнуть, что Вы находитесь на сайте, основное назначение которого помощь в изучении Excel как «с нуля» так и продвинутый уровень. Обучение, советы, разъяснения формул и всего, что связано с Excel проводиться дистанционно по Skype.
Скорее всего, если Вы активно обрабатываете данные в Excel, а особенно разные списки, то у Вас возникала необходимость вытащить (извлечь) текст находящийся в скобках. Причем текстовых строк (ячеек) много, а текст в скобках находится иногда в начале, иногда в средине, а бывает, что вообще, в конце ячейки.
Применив формулу с этой страницы, Вы избавитесь от ручного труда и Вам не придется копировать и вставлять каждый фрагмент по отдельности. Формула реально сэкономит Вам массу сил и времени.
С помощью этой формулы можно извлечь текст (любую последовательность символов), находящийся между открывающейся и закрывающейся скобками.
Формула позволяющая извлечь текст из скобок
=ПСТР(B2;1+ПОИСК(«(«;B2);ПОИСК(«)»;B2)-ПОИСК(«(«;B2)-1)
Комментарии:
— «обрабатываемый» текст должен находиться в определенной ячейке (в примере это яч. B2)
— если в ячейке B2 не будет открывающей и закрывающей скобки, то формула вернет значение ошибки #ЗНАЧ!
— если в яч. B2 будет больше одной открывающей и/или закрывающей скобки, то формула вытащит все то, что находится между первой (слева-направо) открывающей скобкой и первой закрывающей скобкой
Пример текста (это афоризм, а в скобках указан автор)
Чтобы победить, надо ожидать, что победишь. (Ричард Бах)
и результат (формула извлекла текст из скобок)
Ричард Бах
Несмотря на то, что эта формула очень полезная и востребованная, но она может не учитывать ряд специфических нюансов. Например, может потребоваться достать из скобок не только текст, который находится между первой парой скобок, но и текст, находящийся во второй паре скобок или же Вам, наоборот, необходимо оставить только то, что не в скобках..
Все решения со всеми нюансами по объективным причинам выложить невозможно. Остались вопросы или формула не делает то, что Вам нужно? Оставьте сообщение в нижней части страницы, или обратитесь за помощью по программе Excel.
ExcelSkype.Ru – единственный сайт в русскоязычном Internet специализирующийся на дистанционном консультировании и обучении Excel. Помощь или обучение производится через Skype. Все контакты ТУТ.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
поиск по тексту любых выражений в круглых скобках
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 3 ]
1 01.05.2010 16:58:36
- nikmir
- рядовой
- Неактивен
- Зарегистрирован: 01.05.2010
- Сообщений: 4
Тема: поиск по тексту любых выражений в круглых скобках
Добрый день. подскажите, пожалуйста, как с помощью «поиска и замены» найти любые последовательности символов, заключённые в скобки — «(***)»
Отредактировано nikmir (01.05.2010 16:58:59)
2 Ответ от viter.alex 01.05.2010 17:17:55
- viter.alex
- Модератор
- Неактивен
- Откуда: Харьков, Украина
- Зарегистрирован: 21.12.2009
- Сообщений: 884
- Поблагодарили: 140
Re: поиск по тексту любых выражений в круглых скобках
Чтобы в поиске указать символы, использующиеся как служебные, их нужно предварять обратной чертой :
(*) — вот так ищется выражение в круглых скобках
Лучше день потерять — потом за пять минут долететь!
3 Ответ от nikmir 20.05.2010 22:02:44
- nikmir
- рядовой
- Неактивен
- Зарегистрирован: 01.05.2010
- Сообщений: 4
Re: поиск по тексту любых выражений в круглых скобках
спасибо большое
Сообщений [ 3 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Похожие темы
- Поиск и замена значений в скобках (подстановчные знаки).
- Примеры интересных выражений VBA для Word (на английском языке)
- Найти любое кл-во любых символов кроме конца абзаца (0013)
- Присвоить уровень тексту из таблицы.
- Таблица. Фиксированная ширина по всему тексту
- Возврат к тексту после перехода по гиперссылке
- Как выдержать нормативные расстояния по тексту, данные в мм
- Поиск и замена: Поиск слова с пробел или без пробела
поиск по тексту любых выражений в круглых скобках
Если вы ищите информацию по самому мощному редактору в мире Microsoft Word в сети, жаловаться на недостаток документов, литературы, различных ссылок и советов придется вряд ли. На портале о Microsoft Office Word вы узнаете про: данный файл открыт только для чтения.
Только в разбросанном виде все это жутко неудобно. Гораздо результативнее общаться на специальных форумах. Наш сайт о Microsoft Office Word даст ответ про: как посчитать сумму значений в таблице ворд 2003.
Это удобнее еще и тем, что на свою проблему вы получите отклики так сказать в развитии, можно будет обсудить, что не получается, что именно не устраивает. На портале о Microsoft Office Word вы узнаете про: символы в ворде 2007.
Для русскоязычных пользователей Microsoft Word можно посоветовать форум Ворд Эксперт.
На нем представлены как готовые ответы на вопросы и наработки опытных пользователей в разделах «часто задаваемые вопросы» и «готовые решения», так и обсуждения работы с документами и настройками программы в разных версиях нашего любимого Microsoft Word. Наш сайт о Microsoft Office Word даст ответ про: работа с буфером в windows starter.
Это разделы «Настройка и Форматирование», а также «Автоматизация», где вас научат, как сделать работу с программой максимально оптимальной и быстрой, написав соответствующие макросы. Наш сайт о Microsoft Office Word даст ответ про: как убрать пропуск строки в word 2007.
Если вы не хотите сами разбираться с макросами или ломать голову над той, либо иной, возникшей в работе проблемой, то в «Заявках на разработку» можете оставить заказ, форумчане вам помогут. Наш сайт о Microsoft Office Word даст ответ про: синоним и антоним к слову справедливый.
Форум Ворд Эксперт — это страничка, которую стоит запомнить, потому что она может пригодиться в любой момент. На портале о Microsoft Office Word вы узнаете про: как в ворде сделать сначала 4 столбца а потом 2.
Форум и сайт очень разумно устроены, а все пожелания вы можете высказать в соответствующем разделе.
Не проще ли идти так :
1 любое количество любых символов до сочетание ( и пробела
2 любое количество символов до двух закрывающие скобок, причём в этом выражении сделать группу, в которую последние две скобки не будут входить
После применения регексп, как правило, возвращает сначала всё, что найдено, потом найденные группы по порядку.
Соответственно, будет, например
s='AnyAharacters(((((( AnyAhrr22aracters&#+-123(((( Взять zz(()))только этот текст ))'
r='.*(s(.*)){2}$'
re.match(r,s)
Out[36]: <_sre.SRE_Match object; span=(0, 82), match='AnyAharacters(((((( AnyAhrr22aracters&#+-123(((( >
re.match(r,s)[1]
Out[37]: 'Взять zz(()))только этот текст '
s2="AnyAharacters(AnyAharacters&#+-123( Взять только этот текст ))"
re.match(r,s2)[1]
Out[44]: 'Взять только этот текст '
Но это только если есть конкретный маркер (+пробел. Если будет другое сочетание или в тексте будут еще сочетания (+пробел, может не сработать, нужно что-то сложнее
В этом учебном материале по Excel мы рассмотрим примеры того, как извлечь текст между круглыми скобками.
Основная формула
=ПСТР(текст;ПОИСК(«(«;текст)+1;ПОИСК(«)»;текст)-ПОИСК(«(«;текст)-1) |
Описание
Для выделения текста между скобками, фигурными скобками, скобками и т.д. Можно использовать формулу, основанную на функции ПСТР, с помощью функции ПОИСК. В показанном примере формула C5 имеет следующий вид:
=ПСТР(B5;ПОИСК(«(«;B5)+1;ПОИСК(«)»;B5)-ПОИСК(«(«;B5)-1)+0 |
Пояснение
В основе этой формулы лежит функция ПСТР, которая извлекает из текста определенное количество символов, начиная с определенного места. Чтобы выяснить, с чего начать извлечение текста, мы используем это выражение:
Это находит левые круглые скобки и добавляет 1, чтобы получить позицию первого символа внутри круглых скобок. Чтобы выяснить, сколько символов нужно извлечь, мы используем это выражение:
ПОИСК(«)»;B5)-ПОИСК(«(«;B5)-1 |
Это определяет местонахождение вторых скобок в тексте и вычитает позицию первых скобок (без единицы), чтобы получить общее количество символов, которые необходимо извлечь. Используя эту информацию, ПСТР извлекает только текст внутри круглых скобок.
Наконец, поскольку в этом конкретном примере мы хотим получить число в качестве окончательного результата, мы добавляем ноль к текстовому значению, возвращаемому ПСТР:
Эта математическая операция заставляет Excel преобразовывать текстовые значения в числа. Если вам не нужно число в конце, этот шаг не требуется.