Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - как реализовать в строке поиск справа налево? / 4 сообщений из 4, страница 1 из 1
25.07.2018, 18:00
    #39679196
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - как реализовать в строке поиск справа налево?
Добрый день,
Как в Excel реализовать в строке поиск справа налево?

1). Как найти, между словами второй пробел справа в строке?
2). Как найти в строке определенный символ, например "*" и найти слева от него ближайший пробел?

Поиск слева направо в принципе понятно. И с помощью VBA тоже, а как сделать с помощью функций Excel?

Примеры:
1) яблоко вишня слива персик
Нужно найти справа второй пробел и слева первый и оставить слово "вишня".
Как слева найти все понятно.

2) яблоко вишня слива персик NN*25
где NN - это может быть число из одной или двух цифр.
И надо найти "x" и от него найти позицию первого пробела слева.

В интернете, к сожалению, видел идеи, но решения не нашел.
Спасибо за помощь!
...
Рейтинг: 0 / 0
25.07.2018, 20:28
    #39679266
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - как реализовать в строке поиск справа налево?
Yuri KR,
...
Рейтинг: 0 / 0
25.07.2018, 20:55
    #39679280
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - как реализовать в строке поиск справа налево?
Yuri KRКак в Excel реализовать в строке поиск справа налево? Реверсировать строку и искать как обычно.
...
Рейтинг: 0 / 0
26.07.2018, 11:46
    #39679513
Yuri KR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel - как реализовать в строке поиск справа налево?
Добрый день!

Спасибо за помощь, реализовано так:
Общий принцип: например нужен предпоследний пробел
сперва считаются пробелы, потом заменяется пробел на символ невиданный например на CHAR(7) но естественно не каждый, а только N-1 ю ну и ищется этот символ в полученной строке.

1) Текст в А1
Число_пробелов:
=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))

Позиция_2_пробела_справа:
=ПОИСК("|";ПОДСТАВИТЬ($A$1;" ";"|";Число_пробелов-2+1))

Позиция_1_пробела_слева:
=ПОИСК("|";ПОДСТАВИТЬ($A$1;" ";"|";1))

Текст между вторым справа и первым слева пробелом:
=ПСТР(текст;Позиция 1 пробела слева+1;Позиция_2_пробела_справа-Позиция_1_пробела_слева-1)

Всем спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - как реализовать в строке поиск справа налево? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]