Страницы: 1
RSS
Отделить и посчитать слова с конца строки до определенного знака, посчитать слова, связанные дефисом
 
Здравствуйте, уважаемые знатоки. Возник у меня вопрос, который даже сформулировать сложно. По крайней мере для меня.
Надеюсь на Вашу помощь.

Собственно вопрос:
Мне необходимо отделить и посчитать количество слов в строке до определенного символа начиная справа налево.
Пример прилагаю:
 
=ДЛСТР(ПРАВБ(ПОДСТАВИТЬ(A7;"/";ПОВТОР(" ";999));999))-ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ПОДСТАВИТЬ(A7;"/";ПОВТОР(" ";999));999);"-";))+1

переборщил:(
Изменено: Catboyun - 10.11.2015 21:05:14
 
=ДЛСТР(A7)-ДЛСТР(ПОДСТАВИТЬ(A7;"-";))+1
 
Спасибо. Как-то очень быстро ,даже не ожидал))))
Как мне Вам + поставить?
Можете дать короткое пояснение того, что Вы написали?
Не понял например правб
 
Вторая хоть и короче но не на всех строках корректно работает.
Например на такой: mysite/category/otkr-ip/okved
Изменено: Sharapov317 - 10.11.2015 21:15:09
 
UDF подойдет?
Код
1
2
3
4
5
6
Function tt(Text As String, Delim As String, Pos As Long) As String
    With CreateObject("VBScript.regexp")
        .Pattern = "(.*?" & Delim & "){" & Pos & "}(.+)"
        If .test(Text) Then tt = .Execute(Text)(0).Submatches(1)
    End With
End Function
 
Цитата
МВТ написал: UDF подойдет?
Извините не в курсе)))
Так что наверное нет)))
А Вас благодарю.

Всем спасибо.

Кстати обнаружил прикольную вещь.
В некоторых url у меня на конце содержится .html и формула Catboyun не учитывает это слово (и не считает его).
Что очень приятно - не нужно делать замену на пустое место (все url остаются без изменений)
 
Цитата
Вторая... не на всех строках корректно работает
Формула - как вариант. Считает количество дефисов.
Кстати, в примере такой строки Вы не показали
Цитата
В некоторых url у меня на конце содержится .html и...
Вот-вот... В примере нужно показывать не один вариант строки.
посчитать слова, связанные дефисом - здесь о точках ничего...
 
Sharapov317, это пользовательская функция. Здесь можете почитать про них
 
недоборщил :)
=ДЛСТР(ПРАВБ(ПОДСТАВИТЬ(A7;"/";ПОВТОР(" ";999));999))-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВБ(ПОДСТАВИТЬ(A7;"/";ПОВТОР(" ";999));999);"-";);".";))+1
 
Цитата
vikttur написал:  В примере нужно показывать не один вариант строки.
Извините)))
Это мое первое сообщение

Вот полный пример
 
Sharapov317, ну так моя 1-я формула соот. Вашему полному примеру.
и vikttur'а тоже
Изменено: Catboyun - 10.11.2015 21:46:43
 
Цитата
Catboyun написал: недоборщил :)
Это да.
С первого раза то что надо получилось, для меня конечно (плюсы написал)
Страницы: 1
Читают тему
Loading...