Страницы: 1
RSS
Извлечь ПРОПИСНЫЕ БУКВЫ
 
Добрый вечер, уважаемые форумчане!  
 
Может кто знает как из текстовой строки извлечь слова, написанные прописными буквами?  
 
 
С уважением,    
Василий.
 
Вам только название нужно? Если в нем встретятся строчные? Если прописные будут не только в этом слове?
 
{quote}{login=vikttur}{date=16.12.2009 01:10}{thema=}{post}Вам только название нужно? Если в нем встретятся строчные? Если прописные будут не только в этом слове?{/post}{/quote}  
 
Строчные не встретятся. А вот прописные буквы могут быть в начале строки. Но с этим я справлюсь.
 
Показываем второе слово:  
=ПСТР(B5;НАЙТИ(" ";B5)+1;НАЙТИ(" ";B5;НАЙТИ(" ";B5)+1)-НАЙТИ(" ";B5)-1)  
Или нужно именно "прописное" в любом месте текста?
 
{quote}{login=vikttur}{date=16.12.2009 01:25}{thema=}{post}Показываем второе слово:  
=ПСТР(B5;НАЙТИ(" ";B5)+1;НАЙТИ(" ";B5;НАЙТИ(" ";B5)+1)-НАЙТИ(" ";B5)-1)  
Или нужно именно "прописное" в любом месте текста?{/post}{/quote}  
 
Да, в любом месте текста. Эти прописные слова идут в 99 % одно за другим.
 
Прописные русские или латиница?  
Идут непрерывно? Т.е. "Мандарины МАДАГАСКАРСКИЕ высший СОРТ" не будет? и что делать первой буквой в слове "Мандарины"? А так быть не может: "Мандарины МАДАГАСКАРСКИЕ Высший Сорт"?  
>>Эти прописные слова идут в 99 % одно за другим.  
т.е. между словами может быть пробел?  
 
 
Видите, как с текстом сложно...
Bite my shiny metal ass!      
 
Вот формула, которая берет все что между первой и последней прописной.  
Только русские.  
ф-ла массива, вводится стрл+шифт+ентер
Bite my shiny metal ass!      
 
{quote}{login=Лузер™}{date=16.12.2009 01:44}{thema=}{post}Прописные русские или латиница?  
Идут непрерывно? Т.е. "Мандарины МАДАГАСКАРСКИЕ высший СОРТ" не будет? и что делать первой буквой в слове "Мандарины"? А так быть не может: "Мандарины МАДАГАСКАРСКИЕ Высший Сорт"?  
>>Эти прописные слова идут в 99 % одно за другим.  
т.е. между словами может быть пробел?  
 
 
Видите, как с текстом сложно...{/post}{/quote}  
 
Тогда давайте ограничимся 3 вариантами. Они в файле.    
ПС: а ведь есть формула,которая вытаскивает слова целиком?
 
Пользовательская функция выбирает все прописные буквы из ячейки, за исключением первой.  
С уважением, Александр.
 
{quote}{login=Лузер™}{date=16.12.2009 01:54}{thema=}{post}Вот формула, которая берет все что между первой и последней прописной.  
Только русские.  
ф-ла массива, вводится стрл+шифт+ентер{/post}{/quote}  
 
Да. работает формула. Единственное что приходится - убирать прописные буквы в первых словах.    
 
Если это конечный вариант, то тему можно закрывать.
 
{quote}{login=Sh_Alex}{date=16.12.2009 01:59}{thema=}{post}Пользовательская функция выбирает все прописные буквы из ячейки, за исключением первой.  
С уважением, Александр.{/post}{/quote}  
 
 
Благодарю!
 
Добейте, мне некогда:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;" ";"я");СТРОКА(2:100);1))>223;СТРОКА(2:100);0);0)+1;100)  
Формула массива. Нужно определить длину извлекаемого (в формуле стоит 100).
 
{quote}{login=vikttur}{date=16.12.2009 02:04}{thema=}{post}Добейте, мне некогда:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;" ";"я");СТРОКА(2:100);1))>223;СТРОКА(2:100);0);0)+1;100)  
Формула массива. Нужно определить длину извлекаемого (в формуле стоит 100).{/post}{/quote}  
 
Спасибо огромное!
 
Полная формула:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;" ";"я");СТРОКА(ДВССЫЛ("2:"&ДЛСТР(B5)));1))>223;СТРОКА(ДВССЫЛ("2:"&ДЛСТР(B5)));0);0)+1;СУММ((КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;" ";"я");СТРОКА(ДВССЫЛ("2:"&ДЛСТР(B5)));1))<224)*1))  
Находит первую прописную (без учета самой первой в текстовой строке) и показывает количество символов, равное количеству прописных (опять же, без учета первой).
Страницы: 1
Читают тему
Наверх