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

Подскажите пжта, на приведенном примере, как одной формулой взять значение, которое стоит между символами "№" и "от".
Нужно получить значение 74
из текста Оплата (заявка на кассовый расход № 74 от 01.01.01)

Пыталась по количеству знаков прописать, но не получается потому-что значения встречаются от двухзначных до пяти значных.

Заранее спасибо огроменское.
 
:?:  
Код
=СЖПРОБЕЛЫ(ПСТР(A1;НАЙТИ("№";A1)+2;НАЙТИ("от";A1)-НАЙТИ("№";A1)-2))
Согласие есть продукт при полном непротивлении сторон
 
Код
=--ПСТР(A1;НАЙТИ("№ ";A1)+2;НАЙТИ(" от";A1;НАЙТИ("№ ";A1))-НАЙТИ("№ ";A1)-2)
 
Век живи, век учись - два века проживешь!
 
=--ПСТР(A1;ПОИСК("№";A1)+2;3)
Для надежности (если знаков в числе может быть больше):
=--ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("№";A1)+2;5);"от";"  ")
 
макр.
Код
Sub www()
MsgBox Split(Split(ActiveCell.Value, "№")(1), " ")(1)
End Sub
 
 
Добрый день! Подскажите, если текст немного другого типа
Код
W,  1,  5,873,DIVIL           ,  53.328611, 150.001667,41794.1658817,92, 1, 4,         0,     65535,, 0, 0

и необходимо выцеплять значения между запятыми, например, блок с названием DIVIL, и блоки с цифрами 53.328611 и 150.001667, остальное-ненужная информация

структура записи(блоков) одинакова, но может меняться количество символов между запятыми.
Сделал через функцию ПРАВСИМВ и ЛЕВСИМВ, но, при изменении количетсва символов в любом блоке на 1-2 все терпит фиаско!
 
Что-то зачастили с такими вопросами в последнее время... :)
UDF (пользовательская функция). Макросы должны быть разрешены
Код
Function ТЕКСТМЕЖДУ(cl, s1 As String, n1 As Long, s2 As String, n2 As Long) As String
'cl - текст, или ссылка на ячейку с текстом, откуда вырезаем текст
's1 - первый граничный символ
'n1 - номер вхождения первого символа
's2 - второй граничный символ
'n2 - номер вхождения второго символа
With Application.WorksheetFunction
    If s1 = s2 Then
         cl = .Substitute(.Substitute(cl, s1, Chr(5), n1), s2, Chr(6), n2 - 1)
         s1 = Chr(5)
         s2 = Chr(6)
         n1 = 1
         n2 = 1
    End If
    If n1 > 1 Then
        cl = .Substitute(cl, s1, Chr(5), n1)
        s1 = Chr(5)
        n1 = 1
    End If
    If n2 > 1 Then
        cl = .Substitute(cl, s2, Chr(6), n2)
        s2 = Chr(6)
        n2 = 1
    End If
    f1 = .Search(s1, CStr(cl), n1) + 1: f2 = .Search(s2, CStr(cl), n2)
    If f2 - f1 < 0 Then Exit Function
    ТЕКСТМЕЖДУ = Mid(CStr(cl), f1, f2 - f1)
End With
End Function

 
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
Что-то зачастили с такими вопросами в последнее время...
Так ЕГЭ ж начались  :D  
Кому сгореть, тот не утонет.
Страницы: 1
Наверх