Страницы: 1
RSS
Удаления текста после второго пробела, если смотреть справа налево
 
Здравствуйте,
Стоит задача отсечь текст с правой стороны идущий со второго пробела если смотреть с права на лева.

Пример:
Подкладка Вискозная (Саржевая) 45 130г/м Ткань (пог.м)

Нужно получить:
Подкладка Вискозная (Саржевая) 45 130г/м

Хочу заметить, что "Ткань (пог.м)" не является статичной и может быть с разным количеством символов, но всегда имеет вид "текст тект"

Открыт к любым советам)
Изменено: benel - 13.01.2020 15:39:43
 
benel, попробуйте так
Код
=СЖПРОБЕЛЫ(ЛЕВСИМВ(A1;ПОИСК("№№№";ПОДСТАВИТЬ(A1;" ";"№№№";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))-1))))
 
Увы, не вышло.
 
Цитата
benel написал:
Увы, не вышло.
Покажите это в примере.
 
=SUBSTITUTE(A2;" "&TRIM(RIGHT(SUBSTITUTE(A2;" ";REPT(" ";99));198));)
Изменено: БМВ - 13.01.2020 15:28:07
По вопросам из тем форума, личку не читаю.
 
=ЛЕВБ(A2;ПОИСК("@";ПОДСТАВИТЬ(A2;" ";"@";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";))-1)))
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";99));ДЛСТР(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";99)))-180))
 
Murderface_,
БМВ,
vikttur,
Все советы подошли!

Сейчас буду изучать функции и формулы предоставленные вами, для дальнейшей интеграции в более сложную и длинную формулу
Всем большое спасибо!
 
Код
Sub main()
    Dim arr(), txt$, i&
    arr = [a1].CurrentRegion.Value
    [b:b].ClearContents
    For i = 1 To UBound(arr)
        txt = Trim(Left(arr(i, 1), InStrRev(arr(i, 1), " ")))
        arr(i, 1) = Trim(Left(txt, InStrRev(arr(i, 1), " ")))
    Next
    arr(1, 1) = "Результат"
    [b1].Resize(UBound(arr)).Value = arr
End Sub
Изменено: Nordheim - 13.01.2020 16:08:40
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
"Ðåçóëüòàò"
Отставить материться !!!  :D
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх