Страницы: 1
RSS
Удалить левую часть текста после первого числа
 
Доброго времени Уважаемые Форумчане, прошу помощи в следующей задаче: есть слова типа КУ1368Ф; КУ1368Фр1; КУ1368Фр2; КУ1368Фр3; КУ1368Фр5, должно получится КУ1368. Заранее благодарен все тем кто откликнится
 
Как-то длинно получилось и массивно
=LEFT(A1;MAX(ISNUMBER(-MID(A1;ROW($A$1:INDEX($A:$A;LEN(A1)-1));1))*ROW($A$1:INDEX($A:$A;LEN(A1)-1))))
Изменено: БМВ - 17.10.2018 09:09:23
По вопросам из тем форума, личку не читаю.
 
вот такая бодяга но будет работать только при условии что у вас данные в реале в таком же формате который вы показали
Код
=ЕСЛИ(ДЛСТР(A1)=МАКС(ЕСЛИОШИБКА(ПОИСК(СТРОКА($A$1:$A$10)-1;A1);"Ё"));ЛЕВСИМВ(A1;НАИБОЛЬШИЙ(ЕСЛИОШИБКА(ПОИСК(СТРОКА($A$1:$A$10)-1;A1);"Ё");2));ЛЕВСИМВ(A1;МАКС(ЕСЛИОШИБКА(ПОИСК(СТРОКА($A$1:$A$10)-1;A1);"Ё"))))
Лень двигатель прогресса, доказано!!!
 
БМВ, доброго времени ,спасибо что откликнулись, надо удрать все после числа, точнее после первого числа например КУ1368Фр1, должно остаться КУ1368
 
Сергей, доброго времени, спасибо за помощь, в ячейке будет только одно из значений списка примера или ПРС63Ф, или ПРС63Ф1 или ПРС63Ф2 ,там не будет полного списка из примера. Как изменить тогда формулу
 
Цитата
alex1210 написал:
Как изменить тогда формулу
что не работает? про формат текста я писал о том что в случае если ПРС63Ф1 на конце будет не одна цифра а число например ПРС63Ф11 то это будет косяк
Лень двигатель прогресса, доказано!!!
 
Исправил #2
Цитата
Сергей написал:
не одна цифра а число например ПРС63Ф11 то это будет косяк
и у меня аналогично
Изменено: БМВ - 17.10.2018 07:56:53
По вопросам из тем форума, личку не читаю.
 
Сергей,понял спасибо огромное работает и для оной ячейки
 
БМВ,спасибо огромное не увидел Вашу коррекцию. очередной раз выручаете))
 
БМВ, Михаил, здравствуйте. А зачем вот этой хвостик в Вашей формуле?
Цитата
БМВ написал:
1=0)))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
offtop
Вот интересно, когда ответы будут соответствовать вопросу? Какая из формул что-то удалила в источнике?
 
Андрей VG,здравствуйте, удалили обе
 
Цитата
alex1210 написал:
удалили обе
Точно? Может у вас проблемы с толкованием слова удалить? На мой взгляд то, что сделали формулы, называется - выбрать нужное.
 
alex1210,  Андрей VG имел ввиду что формула изначально не может ничего удалить это не макрос, она может только что то показать на основании чего то. :)
Изменено: V - 17.10.2018 08:41:27
 
Цитата
Bema написал:
А зачем вот этой хвостик
для интриги :-).  Конечно он лишний тут.  Остался как пережиток. Для мин False полезен, так как пропущен будет. А тут и if можно убрать заменив произведением. Спасибо, подправлю.
=LEFT(A1;MAX(ISNUMBER(-MID(A1;ROW($A$1:INDEX($A:$A;LEN(A1)-1));1))*ROW($A$1:INDEX($A:$A;LEN(A1)-1))))
off
Цитата
Андрей VG написал:
будут соответствовать вопросу
как только им дадут такие привилегии. :-) Андрей, часто скрипеть начали последнее время. Похоже пора произвести смазку организма  солодовым или пшеничным экстрактом. :-)
Изменено: БМВ - 17.10.2018 09:09:52
По вопросам из тем форума, личку не читаю.
 
Еще вариант
Код
=ПРОСМОТР(;-ПСТР(A1&"|";СТРОКА($1:$8);2);ЛЕВБ(A1;СТРОКА($2:$9)))
Алексей М.
 
АlехМ,спасибо большое. Скажите для чего служит A15&"|"
 
В строке 15 значение ПРС64Фр3
Функция ПСТР() извлекает из строки пары символов
ПР:РС:С6:64:4Ф:Фр:р3:3
как видно последняя пара не полная.
При преобразовании полученных значений в число (знак минус перед функцией) получаем значения
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:-64:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:-3
В конце получилось число и функция ПРОСМОТР() вернет неверное значение
Добавив к значению в строке 15 символ | получим массивы
ПР:РС:С6:64:4Ф:Фр:р3:3|
и
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:-64:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!
и тогда ошибки не будет
Алексей М.
 
АlехМ, да уж, очень интересное решение
 
Цитата
Андрей VG написал:
Вот интересно, когда ответы будут соответствовать вопросу?
Андрей, а ведь правы

Удалить левую часть текста после первого числа  <>
Цитата
alex1210 написал:
надо удрать все после числа, точнее после первого числа например КУ1368Фр1, должно остаться КУ1368
:-)
По вопросам из тем форума, личку не читаю.
 
вариант UDF,можно переделать в макрос с заменой в самом столбце A
 
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\D+\d+"
  aaa = .Execute(t)(0)
 End With
End Function
Изменено: кузя1972 - 17.10.2018 19:02:27
Страницы: 1
Наверх