Страницы: 1
RSS
Вставка символа перед числом
 
Есть такая задача: дана произвольная последовательность символов(abc12fjgkgl2flflfl8), нужно перед каждым числом в ячейке поставить определенный символ, допустим "!", как это решить посредством формулы и без макросов? Буду очень благодарна
 
10 вложенных ПОДСТАВИТЬ и все готово
мне 10 облом писать, для вашего примера достаточно 3 (потому что цифр 3)
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"!1");"2";"!2");"8";"!8")
Изменено: Ігор Гончаренко - 03.03.2021 20:37:30
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо, а нет каких-то более изящных способов для решения такой задачи? Чтобы формула не так громоздко выглядела  
 
Цитата
Ігор Гончаренко написал:
10 вложенных ПОДСТАВИТЬ
теперь ещё так можно:
Код
 =LAMBDA(x;y;ЕСЛИ(y<0;x;всклпередцифрой(ПОДСТАВИТЬ(x;y;"!"&y);y-1)))
Цитата
theseventhline написал:
каких-то более изящных
ну VBA никто не отменял
Код
Function вскл(t$)
        For i = 0 To 9
            t = Replace(t, i, "!" & i)
        Next
      вскл = t
End Function
Изменено: buchlotnik - 03.03.2021 21:06:12
Соблюдение правил форума не освобождает от модераторского произвола
 
а что в данном случае x и y?
 
Файл с макросом
 
Цитата
theseventhline написал:
что в данном случае x и y?
аргументы; формула пишется в диспетчере имен под названием всклпередцифрой, а потом в ячейке
Код
=всклпередцифрой(A1;9)
только работает это всё в
Цитата
buchlotnik написал:
Excel 365 Бета-канал
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
theseventhline написал:
посредством формулы и без макросов?
Цитата
Marat Ta написал:
Файл с макросом
)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, ТС хочет еще проще, чем ваша формула... остается только макрос... ну и не я первый предложил )
Изменено: Marat Ta - 03.03.2021 21:26:06
 
ТС может хотеть что угодно, вплоть до того чтобы хотеть придумать формулу самостоятельно
во вложенном файле в ячейках В1, В2, В3 ...
написана формула
Код
  = П
давайте коллективно, придумаем формулу короче))
Изменено: Ігор Гончаренко - 03.03.2021 21:44:10
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
theseventhline,
Цитата
нужно перед каждым числом
Так перед числом или цифрой?
 
Цитата
buchlotnik написал:
abc12fjgkgl2flflfl8
лямбдой увлекся смотрю :-)

Массивная
=textjoin("";1;TEXT(MID(A1;ROW(1:99);1);"\!0;;;@"))
ТексtJOIN у меня доморощенный , в штатном наверно первый аргумент можно пропустит.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
лямбдой увлекся
а посему бы и нет  ;)  
Цитата
БМВ написал:
доморощенный
на штатном так можно
Код
 =ОБЪЕДИНИТЬ(;;ТЕКСТ(ПСТР(D9;ПОСЛЕД(ДЛСТР(D9));1);"\!0;;;@"))
Код
=СЦЕП(ТЕКСТ(ПСТР(D9;ПОСЛЕД(ДЛСТР(D9));1);"\!0;;;@"))
Изменено: buchlotnik - 03.03.2021 23:34:28
Соблюдение правил форума не освобождает от модераторского произвола
 
СЦЕП и доморощенной нет  :(
По вопросам из тем форума, личку не читаю.
 
В порядке бреда: пользовательский формат !Основной;-!Основной;!Основной;!Основной
 
Kuzmich, действительно, нужно перед числом, а не цифрой.

Вариант макросом с числом
Изменено: Marat Ta - 04.03.2021 06:23:29
 
Цитата
Marat Ta написал:
действительно, нужно перед числом, а не цифрой.
Цитата
theseventhline написал:
дана произвольная последовательность символов
среди произвольной последовательности символов могут быть только цифры ибо среди них не может быть чисел.
Изменено: БМВ - 04.03.2021 09:38:59
По вопросам из тем форума, личку не читаю.
 
Если в ячейке abc12fjgkgl2flflfl8, то цифр четыре, а чисел три (12,2,8)
 
Цитата
vladjuha: В порядке бреда: пользовательский формат !Основной;-!Основной;!Основной;!Основной
у вас это сработало? У меня нет
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх