Страницы: 1
RSS
Скопировать определенную часть данных из одной ячейки в другую.
 
Добрый день! Помогите, пожалуйста, с такой задачей. Имеется столбец с набором подобных данных:
6Б1ОС3ДН
5С1ДН2Б2ОС
4Б4ОС2С
8ОС2Б
10ДН+Б
10Б+С
Из него необходимо достать левые символы, а именно первые цифру/число и букву/буквы. То есть в итоге должно получится так:



8ОС
10ДН
10Б
Как это можно реализовать простым путем?  
 
UDF легко написать, используете?
Изменено: Hugo - 14.02.2025 13:46:40
 
Нет, там 8 ос
 
Код
=ЛЕВСИМВ(A1;НАЙТИ(СЖПРОБЕЛЫ(ЛЕВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;0;" ");1;" ");2;" ");3;" ");4;" ");5;" ");6;" ");7;" ");8;" ");9;" ");"+";" "));" ";ПОВТОР(" ";10));10));A1)+ДЛСТР(СЖПРОБЕЛЫ(ЛЕВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;0;" ");1;" ");2;" ");3;" ");4;" ");5;" ");6;" ");7;" ");8;" ");9;" ");"+";" "));" ";ПОВТОР(" ";10));10)))-1)
 
Массивная
Код
=ЛЕВБ(A1;АГРЕГАТ(15;6;СТРОКА($1:$9)/ЕЧИСЛО(-(ПСТР(A1;СТРОКА($1:$9);1)&0));ПОИСКПОЗ(0=0;ЕОШ(-ПСТР(A1;1;СТРОКА($1:$9)));))-1)

Обычная
Код
=ЛЕВБ(A1;АГРЕГАТ(15;6;СТРОКА($1:$9)/ЕЧИСЛО(-(ПСТР(A1;СТРОКА($1:$9);1)&0));АГРЕГАТ(15;6;СТРОКА($1:$9)/ЕОШ(-ПСТР(A1;1;СТРОКА($1:$9)));1))-1)
Скажи мне, кудесник, любимец ба’гов...
 
МатросНаЗебре, спасибо, работает!
 
_Boroda_, И Вам спасибо!
 
pq
 
чуть пошаманил с формулой от _Boroda_
=ЛЕВБ(A1;АГРЕГАТ(15;6;СТРОКА($1:$9)/ЕЧИСЛО((ПСТР(A1;СТРОКА($1:$9);1)&1)/ЕОШ(-ПСТР(A1;1;СТРОКА($1:$9))));1)-1)
 
UDF
Код
=izvl(A1;"0123456789+")

код
Изменено: Hugo - 14.02.2025 16:14:37 (чуть сократил код)
 
Всем спасибо, кто раннее отвечал. Немного расширю вопрос. Теперь из подобных данных надо достать все сцепки цифра/число и буква/буквы в разные строки. На примере 6Б1ОС3ДН, должно выглядеть так:
6Б1ОС3ДН        6Б
                          1ОС
                          3ДН
Знак плюс рассматривать как число или цифру. В примере 10ДН+Б, должно выйти:
10ДН+Б            10ДН
                         +Б
Реально ли это сделать? При чем количество таких сцепок может быть разным, от 1 до 10. Вот пример, как должно выглядеть. В идеале, если еще цифры будут в одном столбце, а буквы в другом. Спасибо всем неравнодушным!)
7ОС2Б1КЛ7ОС
1КЛ
7ОС2Б1КЛ+Я 7 ОС
2 Б
1 КЛ
+ Я
Страницы: 1
Читают тему
Наверх