Страницы: 1
RSS
из ячейки извлечь часть текста
 
Добрый день. Обращаюсь к знатокам Экселя за помощью :)  
 
У меня есть ячейки с описанием товаров, мне из всего текста нужно выбрать только артикул. Выглядит это так:  
 
03256СА Жабка"Неллоу!", арт. 03256СА (шт.)  
06233 СА "Щаслив родина ж, арт. 06233 СА (шт.)  
2551А "Народження", арт. 2551А (шт.)  
4006709 Скульпт"Назавжди", арт. 4006709 (шт.).  
 
Мне необходимо составить колонку только из артикулов, то есть, мне нужна часть, которая идет после 'арт.' и до '(шт.)'  
 
Заранее кланяюсь в ноги :)
 
У ЛузераТМ однофамилец :)  
Поищите пока что по форуму, таких вопросов - каждый день по паре.
 
Толко что после слова "пост" цифры извлекали.  
Практически без переделки UDF можно использовать - поменять только словораздел :)
 
Function izvlechj2(S As String)  
Dim tmp, i As Long  
If InStr(UCase(S), "АРТ.") > 0 Then  
tmp = Split(UCase(S), "АРТ.")  
For i = 1 To Len(tmp(1))  
If InStr(1, "1234567890, СА", Mid(tmp(1), i, 1)) <> 0 Then  
izvlechj2 = Trim(izvlechj2 & Mid(tmp(1), i, 1))  
Else  
Exit Function  
End If  
Next  
Else  
izvlechj2 = ""  
End If  
End Function
 
А в конце арт. используются "СА", "А" - они тоже нужны?
 
{quote}{login=лузер6677}{date=23.11.2010 02:46}{thema=из ячейки извлечь часть текста}{post}...нужно выбрать только артикул...то есть, мне нужна часть, которая идет после 'арт.' и до '(шт.)'{/post}{/quote}  
Может, не обязательно извлекать между "арт." и "(шт.)", достаточно отрезать начало? Ведь повторяется.
 
нашёл тему с извлечением слова ПОСТ, буду разбираться.    
 
извините, я вроде искал, но, видимо, затупил :)
 
=ПСТР(ПСТР(A1;ПОИСК("арт.";A1)+5;20);1;ПОИСК("(";ПСТР(A1;ПОИСК("арт.";A1)+5;20))-2)
 
Не, kim, не так. Можно короче:)  
Я подумал, пусть человек попытается, функции покрутит, опыт приобретет.
 
{quote}{login=vikttur}{date=23.11.2010 03:03}{thema=}{post}Не, kim, не так. Можно короче:)  
Я подумал, пусть человек попытается, функции покрутит, опыт приобретет.{/post}{/quote}LEFT? ;-)
 
Вить, ты имел ввиду?  
=ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("арт.";A1)+5;20);"(шт.)";)  
Или все-таки правую часть отчекрыжить?
 
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1))
 
{quote}{login=kim}{date=23.11.2010 03:20}{thema=}{post}Вить, ты имел ввиду?  
=ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("арт.";A1)+5;20);"(шт.)";)  
{/post}{/quote}  
не дадите человеку подумать :)  
Точно, только " (шт.)".  
Сергей, ЛЕВСИМВ не для всех катит.
 
{quote}{login=vikttur}{date=23.11.2010 03:42}{thema=Re: }{post}Сергей, ЛЕВСИМВ не для всех катит.{/post}{/quote}Точно, блин.  
Только сейчас увидел :(
 
{quote}{login=kim}{date=23.11.2010 03:20}{thema=}{post}=ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("арт.";A1)+5;20);"(шт.)";){/post}{/quote}  
Тоже не до конца работает.  
Так тогда надо:  
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("арт.";A1)+5;20);"(шт.)";);".";"")
 
При чем тут точка?
 
{quote}{login=vikttur}{date=23.11.2010 04:00}{thema=}{post}При чем тут точка?{/post}{/quote}Попробуй на четвёртой строке. Точка после артикула остаётся от (шт.).
 
Не верю :)
 
Уже верю, при копировании потерялась последняя точка.  
Еще один аргумент в пользу того, что нужно выкладывать примеры, а не выдержки из них.
 
{quote}{login=vikttur}{date=23.11.2010 04:10}{thema=}{post}Не верю :){/post}{/quote}Поэтому я и говорю: <<<Попробуй на четвёртой строке. Точка после артикула остаётся>>>  
 
27,5 Кб
 
можно и так:  
 
=ПСТР(A1;ПОИСК("арт.";A1)+5;ПОИСК("(";A1)-ПОИСК("арт.";A1)-6)
Редко но метко ...
 
Тогда мою первую формулу можно, мало ли что там еще после "(шт.)" затешется, например:  
03256СА Жабка"Неллоу!", арт. 03256СА (шт.)  
06233 СА "Щаслив родина ж, арт. 06233 СА (шт.)  
2551А "Народження", арт. 2551А (шт.)  
4006709 Скульпт"Назавжди", арт. 4006709 (шт.).Мне необходимо...
 
GIG_ant, бутерброд, надеюсь, съел, но чего не спится? kim ведь вернул душевную гармонию :)
 
{quote}{login=vikttur}{date=23.11.2010 04:21}{thema=}{post}GIG_ant, бутерброд, надеюсь, съел, но чего не спится? kim ведь вернул душевную гармонию :){/post}{/quote}  
 
а то, и чайком сверху! как то сразу все наладилось )
Редко но метко ...
Страницы: 1
Читают тему
Наверх