Страницы: 1
RSS
Вытащить текст между двумя символами
 
Доброго времени суток! :)

У меня такой вопрос. Предположим, у нас есть следующие данные :
яблоко\апельсин\помидор
молоко\сыр\хлеб
мандарин\ лайм\лимон

Мой нужно вытащить второе слово после слэша. Т.е.
апельсин
сыр
лайм

Функцию MID использовать не могу, т.к. меняется количество знаков после слэша. Вторая мысль была удалить всё после второго слэша и использовать RIGHT, третья идея была установить длину, используя поиск и замену.
Но так как опыта у меня немного, пока ничего не получается. Может быть есть у кого-нибудь идеи, как бы это можно сделать оптимально?
Заранее спасибо!
 
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;"";ПОВТОР(" ";50));50;50))
 
UDF
Код
Function Slesh(cell As String) As String
  Slesh = Trim(Split(cell, "\")(1))
End Function
 
Спасибо большое за помощь! Всё сработало. Но вот появился новый вопрос к формуле. Синтакс ПСТР(Искомый текст, от какого символа, длина). Я не понимаю, как вместо искомой ячейки мы можем указать другую формулу..откуда программа знает искомый текст? Ведь ПОДСТАВИТЬ(A1;"\";ПОВТОР(" ";50)) выдаст только первое слово

В следующий раз, я обязательно прикреплю Excel файл

Kuzmich, спасибо за функцию :)  
 
ПОДСТАВИТЬ(A1;"\";ПОВТОР(" ";50)) - выдаст всю строку, но вместо разделителя - по 50 пробелов. Это для того, чтобы не искать позицию символа: обрезаем текст с середины диапазона пробелов перед словом и после слова, пробелы удаляем СЖПРОБЕЛЫ
 
еще вариант функции в столбце C
Код
 Function vvv$(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "[^\\]+": .Global = True
    vvv = .Execute(t)(1)
  End With
End Function
Изменено: sv2013 - 26.09.2017 01:49:32
 
vikttur, спасибо за объяснение!
sv2013, спасибо за код!  
 
Добрый день!
подскажите пожалуйста как разложить строку на отдельные столбцы. кое что сделал, но дальше чет заглох...
 
Aleksejjkhd@....
1. правила форума, об отображаемом имени.
2. Вопрос не по теме (двум помощникам - рыдайте над потерянным временем)
Создайте отдельную тему с названием, отражающим суть задачи
 
Цитата
vikttur написал:
Aleksejjkhd@....1. правила форума, об отображаемом имени.2. Вопрос не по теме (двум помощникам - рыдайте над потерянным временем)Создайте отдельную тему с названием, отражающим суть задачи
1. Ознакомлюсь.
2. Извиняюсь, задача стояла остро, времени не было разбираться куда лучше написать. (двум помощникам - огромное спасибо, успел прочитать Ваши ответы, поблагодарить не успел)
 
Измените отображаемое имя. Там же, в правилах - о бестолковом цитировании.

Из-за Вас помощь помощников больше никому не поможет.
Страницы: 1
Наверх