Страницы: 1
RSS
как скопировать 1-е слово из ячейки с текстом?
 
как скопировать 1-е слово из ячейки с текстом, если в 1-м слове различное количество знаков?
 
Найти первый пробел. И левсимв отрезать все до этого пробела.  
Пойдет такой вариант?
 
{quote}{login=Нюша}{date=23.04.2008 05:41}{thema=}{post}Найти первый пробел. И левсимв отрезать все до этого пробела.  
Пойдет такой вариант?{/post}{/quote}  
А можно подробно на примере?
 
Не могу с работы файлы закачивать, поэтому так попробуем  
Духовка Gorenje U 3475 W    
стоит  в ячейке А1  
тогда в ячейке В1 пишем  
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1)-1)  
Должно отобразиться "Духовка"  
Получилось?
 
Да, спасибо большое!
 
как скопировать первые буквы из ячейки с артикулом, если количество букв разное (после букв начинаются цифры и без пробела)? Артикулы типа А8232, ПРК125, ПР825, Л8899, Г86
 
{quote}{login=Тот}{date=02.02.2009 11:42}{thema=}{post}как скопировать первые буквы из ячейки с артикулом, если количество букв разное (после букв начинаются цифры и без пробела)? Артикулы типа А8232, ПРК125, ПР825, Л8899, Г86{/post}{/quote}  
навскидку  
=ЛЕВСИМВ(A1;НАЙТИ(или("0";"1";"2";"3";"4";"5";"6";"7";"8";"9");A1;1)-1)
 
не работает(
 
{quote}{login=Марчук}{date=02.02.2009 11:57}{thema=Re: }{post}{quote}{login=Тот}{date=02.02.2009 11:42}{thema=}{post}как скопировать первые буквы из ячейки с артикулом, если количество букв разное (после букв начинаются цифры и без пробела)? Артикулы типа А8232, ПРК125, ПР825, Л8899, Г86{/post}{/quote}  
навскидку  
=ЛЕВСИМВ(A1;НАЙТИ(или("0";"1";"2";"3";"4";"5";"6";"7";"8";"9");A1;1)-1){/post}{/quote}  
мда не работает.
 
В надстройке PLEX есть пользовательская функция GetText().  
То что надо в последнем случае.
 
а если нет надстройки PLEX? Решения нету?
 
Написать свою функцию для тех же целей :)
 
если б я знал как это делается, то написал бы давно(
 
{=ПСТР(C2;1+ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999));999)}
 
Да простит меня г-н СЛЭН за плагиат... :)))) Ибо получать надо было не цифры, а буквы...  
СЛЭН... Я Вами восторгаюсь... Молодцы!!!  
 
{=ПСТР($C5;1;ДЛСТР(C5)-ДЛСТР(ПСТР(C5;1+ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C5;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999));999)))}
 
Чье - не знаю, но может сознаются (вроде перед Новым Годом дело было):  
"'=ПСТР(B1;1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(ПСТР(B1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(B1)));1)*1);0)-1)" - "массивная" формула.
 
не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:  
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}
Живи и дай жить..
 
{quote}{login=слэн}{date=02.02.2009 02:02}{thema=}{post}не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:  
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}{/post}{/quote}  
Как вариант - Да! Зачем отбирать ПЕРВЫЕ буквы, если можно удалить ПОСЛЕДНИЕ цифры (но могут остаться буквы-цифры-буквы).
 
{quote}{login=слэн}{date=02.02.2009 02:02}{thema=}{post}не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:  
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}{/post}{/quote}  
 
 
Браво! :)  
Слэн, скажите, а почему Вы брали "от 1 до 999" в "СТРОКЕ"? И поясните, пожалуйста, смысл домножения на "СТРОКУ", если несложно.  
Спасибо.  
Z - очень классная формула. Главное работает. С Вашей подачи беру на заметку.
 
{quote}{login=Z}{date=02.02.2009 02:01}{thema=}{post}Чье - не знаю, но может сознаются (вроде перед Новым Годом дело было):  
"'=ПСТР(B1;1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(ПСТР(B1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(B1)));1)*1);0)-1)" - "массивная" формула.{/post}{/quote}  
 
да, у меня практически тоже самое, но, клянусь, не списывал :)
Живи и дай жить..
 
Спасибо большое! за эту безумную формулу) Работает!
 
{quote}{login=}{)pa}{date=02.02.2009 02:18}{thema=Re: }{post}{quote}{login=слэн}{date=02.02.2009 02:02}{thema=}{post}не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:  
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}{/post}{/quote}  
 
 
Браво! :)  
Слэн, скажите, а почему Вы брали "от 1 до 999" в "СТРОКЕ"? И поясните, пожалуйста, смысл домножения на "СТРОКУ", если несложно.  
Спасибо.  
Z - очень классная формула. Главное работает. С Вашей подачи беру на заметку.{/post}{/quote}  
 
вы правы, задавая такие вопросы.. :)  
 
строка(1:999) дает массив чисел от 1 до 999 - считаю, что большего количества символов ожидать трудно, но точным было бы определить длину с помощью длстр()  
 
умножение заставляет иксель оперировать именно числами..  
а вот зачем умножать на строку, я и сам не знаю :) осталось от эксперимента  
 
такая формула  даже лучше:  
=ПСТР(C2;1;ПОИСКПОЗ(0;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*1))  
 
или так:  
=ПСТР(C2;1;ПОИСКПОЗ(0;--(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)))
 
А у меня вариант без использования формул массивов
 
{quote}{login=}{date=02.02.2009 03:52}{thema=Re: Re: }{post}{quote}{login=}{)pa}{date=02.02.2009 02:18}{thema=Re: }{post}{quote}{login=слэн}{date=02.02.2009 02:02}{thema=}{post}не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:  
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}{/post}{/quote}  
 
 
Браво! :)  
Слэн, скажите, а почему Вы брали "от 1 до 999" в "СТРОКЕ"? И поясните, пожалуйста, смысл домножения на "СТРОКУ", если несложно.  
Спасибо.  
Z - очень классная формула. Главное работает. С Вашей подачи беру на заметку.{/post}{/quote}  
 
вы правы, задавая такие вопросы.. :)  
 
строка(1:999) дает массив чисел от 1 до 999 - считаю, что большего количества символов ожидать трудно, но точным было бы определить длину с помощью длстр()  
 
умножение заставляет иксель оперировать именно числами..  
а вот зачем умножать на строку, я и сам не знаю :) осталось от эксперимента  
 
такая формула  даже лучше:  
=ПСТР(C2;1;ПОИСКПОЗ(0;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*1))  
 
или так:  
=ПСТР(C2;1;ПОИСКПОЗ(0;--(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65))){/post}{/quote}  
 
 
 
Ясно... Большое спасибо за пояснение... :))
 
{quote}{login=sonet}{date=03.02.2009 09:54}{thema=}{post}А у меня вариант без использования формул массивов{/post}{/quote}  
 
а чета не везде правильно работает?  
а массивы хуже?
Страницы: 1
Читают тему
Loading...