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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск подстроки в строке с разделителями - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск подстроки в строке с разделителями (Формулы/Formulas)
Поиск подстроки в строке с разделителями
[scv] Дата: Среда, 21.06.2017, 18:47 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Приветствую всех!!

Есть ячейка с текстом one | two | three | 0011
В соседней ячейке надо получить three

Формула, которая это делает (я проверял!) такова:
Код
СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(D2,"|",ПОВТОР(" ",99)),198),99))


Вопрос: откуда там цифры 99, 198, 99?

Сильно не бейте, объясните пожалуйста.


Сообщение отредактировал Manyasha - Среда, 21.06.2017, 21:46
 
Ответить
СообщениеПриветствую всех!!

Есть ячейка с текстом one | two | three | 0011
В соседней ячейке надо получить three

Формула, которая это делает (я проверял!) такова:
Код
СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(D2,"|",ПОВТОР(" ",99)),198),99))


Вопрос: откуда там цифры 99, 198, 99?

Сильно не бейте, объясните пожалуйста.

Автор - [scv]
Дата добавления - 21.06.2017 в 18:47
AlexM Дата: Среда, 21.06.2017, 19:02 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3584
Репутация: 902 ±
Замечаний: 0% ±

Excel 2003
А где ваш файл?
198 = 2*99



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 21.06.2017, 19:04
 
Ответить
СообщениеА где ваш файл?
198 = 2*99

Автор - AlexM
Дата добавления - 21.06.2017 в 19:02
buchlotnik Дата: Среда, 21.06.2017, 19:39 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2985
Репутация: 836 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
Сильно не бейте
оформите формулу тегами, приложите файл - не будем yes
Цитата
откуда там цифры
цифры там 1,8 и 9 , скорее всего, введены с клавиатуры, а вот числа помогают искать предпоследнее значение - каждый разделитель заменяется на 99 пробелов, потом берется 198 символов справа, т.е. подстрока, включающая последние два значения (и кучу пробелов), а потом в ней 99 символов слева - т. е. только предпоследнее значение (и куча пробелов), а потом СЖПРОБЕЛЫ() наводит красоту, как-то так


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Среда, 21.06.2017, 19:57
 
Ответить
Сообщение
Цитата
Сильно не бейте
оформите формулу тегами, приложите файл - не будем yes
Цитата
откуда там цифры
цифры там 1,8 и 9 , скорее всего, введены с клавиатуры, а вот числа помогают искать предпоследнее значение - каждый разделитель заменяется на 99 пробелов, потом берется 198 символов справа, т.е. подстрока, включающая последние два значения (и кучу пробелов), а потом в ней 99 символов слева - т. е. только предпоследнее значение (и куча пробелов), а потом СЖПРОБЕЛЫ() наводит красоту, как-то так

Автор - buchlotnik
Дата добавления - 21.06.2017 в 19:39
[scv] Дата: Среда, 21.06.2017, 20:40 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Число (в данном случае 99) - должно быть минимум длинной подстроки последних двух сегментов. Больше либо равно. Тогда можно полностью получить содержание предпоследнего сегмента, будет меньше - будет обрезка от начала. Всем спасибо!
 
Ответить
СообщениеЧисло (в данном случае 99) - должно быть минимум длинной подстроки последних двух сегментов. Больше либо равно. Тогда можно полностью получить содержание предпоследнего сегмента, будет меньше - будет обрезка от начала. Всем спасибо!

Автор - [scv]
Дата добавления - 21.06.2017 в 20:40
AndreTM Дата: Среда, 21.06.2017, 21:18 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 496 ±
Замечаний: 0% ±

2003 & 2010
На самом деле "чисел" там три.
И на самом деле, должно быть так: само число должно быть больше длины подстроки, в которую входит искомый сегмент (слева или справа, который короче выйдет, складываем при этом максимальные возможные длины сегментов), в ПОВТОР() и "внешнем" *СИМВ() используем это число, а во "внутреннем" *СИМВ() - это же число, умноженное на количество попавших в вышеуказанную подстроку сегментов (минус один). На практике обычно просто берут значение максимально возможной длины строки.


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНа самом деле "чисел" там три.
И на самом деле, должно быть так: само число должно быть больше длины подстроки, в которую входит искомый сегмент (слева или справа, который короче выйдет, складываем при этом максимальные возможные длины сегментов), в ПОВТОР() и "внешнем" *СИМВ() используем это число, а во "внутреннем" *СИМВ() - это же число, умноженное на количество попавших в вышеуказанную подстроку сегментов (минус один). На практике обычно просто берут значение максимально возможной длины строки.

Автор - AndreTM
Дата добавления - 21.06.2017 в 21:18
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск подстроки в строке с разделителями (Формулы/Formulas)
Страница 1 из 11
Поиск:

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