Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск скобок в текстовой строке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Поиск скобок в текстовой строке
hatter Дата: Четверг, 10.04.2014, 10:23 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 160
Репутация: 0 ±
Замечаний: 0% ±

В строках есть значения в скобках, нужно в первый столбец поместить значение из одной скобки, во второй столбец-из другой
Получилось только для первых скобок...прикладываю файл
К сообщению приложен файл: 6761273.xlsx (10.0 Kb)
 
Ответить
СообщениеВ строках есть значения в скобках, нужно в первый столбец поместить значение из одной скобки, во второй столбец-из другой
Получилось только для первых скобок...прикладываю файл

Автор - hatter
Дата добавления - 10.04.2014 в 10:23
Russel Дата: Четверг, 10.04.2014, 10:52 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1394
Репутация: 320 ±
Замечаний: 0% ±

Excel 2010
Сходу на основе Вашей формулы:
Код
=ПСТР(A1;НАЙТИ("(";A1;НАЙТИ(")";A1;1)+1)+1;НАЙТИ(")";A1;НАЙТИ(")";A1;1)+1)-НАЙТИ("(";A1;НАЙТИ(")";A1;1)+1)-1)


QIWI 9173973973
 
Ответить
СообщениеСходу на основе Вашей формулы:
Код
=ПСТР(A1;НАЙТИ("(";A1;НАЙТИ(")";A1;1)+1)+1;НАЙТИ(")";A1;НАЙТИ(")";A1;1)+1)-НАЙТИ("(";A1;НАЙТИ(")";A1;1)+1)-1)

Автор - Russel
Дата добавления - 10.04.2014 в 10:52
hatter Дата: Пятница, 11.04.2014, 14:27 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 160
Репутация: 0 ±
Замечаний: 0% ±

а можно в эту формулу добавить ещё условие для третей пары( и возможны строки до 5-ти) скобок?


Сообщение отредактировал hatter - Пятница, 11.04.2014, 14:30
 
Ответить
Сообщениеа можно в эту формулу добавить ещё условие для третей пары( и возможны строки до 5-ти) скобок?

Автор - hatter
Дата добавления - 11.04.2014 в 14:27
Russel Дата: Пятница, 11.04.2014, 14:57 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1394
Репутация: 320 ±
Замечаний: 0% ±

Excel 2010
Для лучшего понимания, сделал в разных ячейках, по аналогии разберетесь.

Чтобы не плодить ячейки, впоследствии формулы можно объединить, используя макрос.
К сообщению приложен файл: 6761273-1-.xlsx (10.3 Kb)


QIWI 9173973973

Сообщение отредактировал Russel - Пятница, 11.04.2014, 15:00
 
Ответить
СообщениеДля лучшего понимания, сделал в разных ячейках, по аналогии разберетесь.

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

Автор - Russel
Дата добавления - 11.04.2014 в 14:57
hatter Дата: Пятница, 11.04.2014, 15:05 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 160
Репутация: 0 ±
Замечаний: 0% ±

Спасибо, но не совсем подходит, т.к. массив большой и добавлять еще столбцы для определения позиции скобок(а их может быть до 6-ти пар) очень не удобно.
Я пробую добавлять условия в первый вариант формулы, но не выходит((( слишком много вложений, может есть какой-то другой вариант решения??
 
Ответить
СообщениеСпасибо, но не совсем подходит, т.к. массив большой и добавлять еще столбцы для определения позиции скобок(а их может быть до 6-ти пар) очень не удобно.
Я пробую добавлять условия в первый вариант формулы, но не выходит((( слишком много вложений, может есть какой-то другой вариант решения??

Автор - hatter
Дата добавления - 11.04.2014 в 15:05
_Boroda_ Дата: Пятница, 11.04.2014, 15:06 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16800
Репутация: 6558 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Для произвольного количества скобок
Код
=ПСТР($A1;ПОИСК($A1;ПОДСТАВИТЬ($A1;"(";$A1;СТОЛБЕЦ(A1)))+1;ПОИСК($A1;ПОДСТАВИТЬ($A1;")";$A1;СТОЛБЕЦ(A1)))-1-ПОИСК($A1;ПОДСТАВИТЬ($A1;"(";$A1;СТОЛБЕЦ(A1))))

в В1 и тянем вправо
К сообщению приложен файл: 5645645645645.xlsx (8.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДля произвольного количества скобок
Код
=ПСТР($A1;ПОИСК($A1;ПОДСТАВИТЬ($A1;"(";$A1;СТОЛБЕЦ(A1)))+1;ПОИСК($A1;ПОДСТАВИТЬ($A1;")";$A1;СТОЛБЕЦ(A1)))-1-ПОИСК($A1;ПОДСТАВИТЬ($A1;"(";$A1;СТОЛБЕЦ(A1))))

в В1 и тянем вправо

Автор - _Boroda_
Дата добавления - 11.04.2014 в 15:06
hatter Дата: Пятница, 11.04.2014, 15:07 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 160
Репутация: 0 ±
Замечаний: 0% ±

Для произвольного количества скобок
Вот это класс, спасибо!!!
 
Ответить
Сообщение
Для произвольного количества скобок
Вот это класс, спасибо!!!

Автор - hatter
Дата добавления - 11.04.2014 в 15:07
Gustav Дата: Пятница, 11.04.2014, 18:13 | Сообщение № 8
Группа: Админы
Ранг: Участник клуба
Сообщений: 2829
Репутация: 1190 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
А я в очередной раз размялся с регулярными выражениями. У меня пользовательская функция arrIzSkob (UDF), которую надо ввести как формулу массива в несколько ячеек строки, чтобы последовательно получить содержимое всех пар скобок (внутри которых нет других скобок) из исходной строки. Сейчас функция возвращает до 20 значений, т.е. если формулу массива ввести в большее кол-во ячеек, то начиная с 21-й пойдут #Н/Д. Если надо больше, то функция легко модифицируется в коде. Я не стал делать динамический массив, чтобы не отягощать алгоритм. Поэтому там сейчас тупо забита граница массива от 1 до 20.

К сообщению приложен файл: Regex_04.xls (45.0 Kb)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеА я в очередной раз размялся с регулярными выражениями. У меня пользовательская функция arrIzSkob (UDF), которую надо ввести как формулу массива в несколько ячеек строки, чтобы последовательно получить содержимое всех пар скобок (внутри которых нет других скобок) из исходной строки. Сейчас функция возвращает до 20 значений, т.е. если формулу массива ввести в большее кол-во ячеек, то начиная с 21-й пойдут #Н/Д. Если надо больше, то функция легко модифицируется в коде. Я не стал делать динамический массив, чтобы не отягощать алгоритм. Поэтому там сейчас тупо забита граница массива от 1 до 20.


Автор - Gustav
Дата добавления - 11.04.2014 в 18:13
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!