Страницы: 1
RSS
Поиск пробела не с начала, а с конца строки
 
Как найти в строке последний пробел, когда их количество заранее не известно? В прилагаемом примере необходимо из четвертого столбца получить отдельно название аэродрома и страну. Строк очень много (несколько тысяч), вручную запаришься. А зная позицию последнего пробела, можно хотя бы по одной стране все автоматизировать.  
       Что-то после ночной смены туплю...  
               Спасибо!
 
В VBA есть функция для поиска с конца строки:  
InStrRev Function  
       
 
Description  
 
Returns the position of an occurrence of one string within another, from the end of string.  
 
Syntax  
 
InstrRev(stringcheck, stringmatch[, start[, compare]])
 
The InstrRev function syntax has these named arguments:  
 
Part Description    
stringcheck Required. String expression being searched.    
stringmatch Required. String expression being searched for.    
start Optional. Numeric expression that sets the starting position for each search. If omitted, –1 is used, which means that the search begins at the last character position. If start contains    
Null, an error occurs.  
   
compare Optional. Numeric value indicating the kind of comparison to use when evaluating substrings. If omitted, a binary comparison is performed. See Settings section for values.
 
Примерчик
 
именно для этого случая :  
=ПСТР(СЖПРОБЕЛЫ(D1);НАЙТИ(" ";D1;1);99)  
 
и для любого:  
{=ПСТР(D1;МАКС(ЕСЛИ(ПСТР(D1;СТРОКА(СМЕЩ($A$1;0;0;ДЛСТР(D1)));1)=" ";СТРОКА(СМЕЩ($A$1;0;0;ДЛСТР(D1)));""));999)}
 
Спасибо!!!  
            Сейчас попробую...
 
ps  
"выделяет" последнее слово, если за ним нет пробелов.  
 
если в последннюю формулу вставить еще сжпробелы, то будет просто выделять последнее слово в любой фразе без всяких оговорок.  
 
соответственно, если вместо макс пользоваться ф-ей наибольший, то можно выводить любое слово из фразы(1е, второе, последнее..)
 
Да, СМЕЩ и ДЛСТР я как-то не дотумкал изпользовать.  
Спасибо...
Страницы: 1
Читают тему
Наверх