Страницы: 1
RSS
Удаление текста в выделенной области, кроме цифро-буквенных значений.
 
Есть прайс. Нужно в выделенной области из ячеек удалить весь текст кроме цифро-буквенных выражений.    
Дякую, Максег
 
давайте кусок прайса, и результат на выходе
Редко но метко ...
 
есть:  
велосипед трёхколёсный SR86S-XTX, розовый с  красным"                                    
 
а должно выйти:  
SR86S-XTX
 
Можно выделять последнее слово перед запятой. Но всегда ли будет так?
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=26.07.2012 02:10}{thema=}{post}Можно выделять последнее слово перед запятой. Но всегда ли будет так?{/post}{/quote}  
 
Можно и так, но не так не всегда попадается....  
Но вы все-равно напишите, что хотели)))
 
.
Я сам - дурнее всякого примера! ...
 
формулой, см файл
Редко но метко ...
 
смущает то, что в первой строке "022", явно относящееся к коду, расположено через пробелы :(  
сравните со строками 5 и 6, например.  
 
может быть удалять любое слово, содержащее хотя бы один символ кириллицы?  
примерно так:  
Function myCode$(r As Range)  
 x = Split(r.Value)  
 For Each xe In x  
   If xe > "" Then  
     y = Split(xe, ",")  
     For Each ye In y  
       If ye Like "*[À-ßà-ÿ¨¸]*" Then ye = "" Else myCode = myCode & ye
     Next  
   End If  
 Next  
End Function  
 
кстати, в примере есть некириллические буквы не только в коде :(
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Чуть подправленная от МСН  
http://www.excelworld.ru/forum/2-1957-1  
 
Function ExtractNum$(txt$)  
   Dim i&, s$, m$  
   For i = 1 To Len(txt)  
       m$ = Mid$(txt, i, 1)  
       If m Like "[А-яЁё,]" Then m = " "
       s = s & m  
   Next i  
   ExtractNum = Application.Trim(s)  
End Function
 
If ye Like "*[А-Яа-яЁё]*" ...
 
прошу прощения
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Формула массива:  
 
=ПСТР(B1;ПОИСКПОЗ(1;ПОИСКПОЗ(КОДСИМВ(ПСТР(B1&"a";СТРОКА($1:$99);1)&1);{65;123}););ПОИСК(" ";ПСТР(B1;ПОИСКПОЗ(1;ПОИСКПОЗ(КОДСИМВ(ПСТР(B1&"a";СТРОКА($1:$99);1)&1);{65;123}););20))-1)  
 
 
---------  
60306
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
чуть упростил формулу:  
=ПСТР(B1;ПОИСК("@";ПОДСТАВИТЬ(B1;" ";"@";3))+1;ПОИСК(",";B1)-ПОИСК("@";ПОДСТАВИТЬ(B1;" ";"@";3))-1)  
 
см файл
Редко но метко ...
 
А можно проще... Выделяем диапазон ячеек с наименованиями, нажимаем ctrl+f, вкладка "заменить", в поле "найти" вводим ",*" без кавычек, нажимаем заменить все. Тем самым удаляем ту часть что идет после запятой, включая саму запятую.  
Затем вводим в найти " * * " с пробелами и без кавычек. Опять нажимаем заменить все. Удаляется часть наименования идущая до цифро-буквенного индекса. Все)
 
Это если часть наименования идущая до цифро-буквенного индекса всегда будет из двух слов. А не факт...
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Наверх