Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
0

Excel: какая формула выбирает подстроку из текста c разделителем?

vdtest [16.3K] более месяца назад

Если в ячейке параметры перечислены через символ разделитель, можно ли извлечь определённый элемент, зная его номер вхождения?

Как извлечь из текста ячейки Эксель подстроку по номеру вхождения?

Как выбрать определенную часть строчки, разбитой символом разделителем?

Можно ли по номеру вхождения извлечь подстроку из текстовой ячейки Excel?

2

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

Считаем что строчка записана в ячейке A3, а номер вхождения подстроки записан в ячейке H1 и в качестве разделителя используется символ ","

воспользуемся формулой нахождения позиции символа (или подстроки) по номеру вхождения

тогда получим формулы граничных символов искомой подстроки

начальный символ:

=НАЙТИ( СИМВОЛ(3) ; ПОДСТАВИТЬ( ","&A3&"," ; "," ; СИМВОЛ(3) ; H1))+1

конечный символ:

=НАЙТИ( СИМВОЛ(3) ; ПОДСТАВИТЬ( ","&A3&"," ; "," ; СИМВОЛ(3) ; H1+1))-1

формула для подстроки с номером вхождения в ячейке H1 (исходная строка в A3 и разделитель ","):

=ПСТР( ","&A3&","; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(","&A3&",­"; ","; СИМВОЛ(3); H1))+1; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(","&A3&",­"; ","; СИМВОЛ(3);H1+1)) - НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(","&A3&",­"; ","; СИМВОЛ(3); H1))-1)

Пример использования

для разделителя ";" формула имеет вид:

=ПСТР( ";"&A3&";"; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(";"&A3&";­"; ";"; СИМВОЛ(3); H1))+1; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(";"&A3&";­"; ";"; СИМВОЛ(3);H1+1)) - НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ(";"&A3&";­"; ";"; СИМВОЛ(3); H1))-1)

Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
регистрация
OpenID