Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как прикрутить массив констант к ПОДСТАВИТЬ.
 
Добрый вечер, всех поздравляю с переездом )))
Нужно из ячейки с данными вычистить мусор в виде всяких "(", "  ;)  ", "-".
Эти ненужные данные могут быть разными, это получается сделать через вложенные ПОДСТАВИТЬ.
Формула имеет следующий вид =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(E6;"()";""  ;)  ;"  ;)  ";""  ;)  ;"(";""  ;)  ;"-";""  ;)  
В принципе не так уж и сложно прописать вложенные ПОДСТАВИТЬ. Но благодаря Виктору (Vikttur), узнал про массив констант, и теперь использую их там где можно. Однако если прописать массив констант для ПОДСТАВИТЬ, формула имеет следующий вид =ПОДСТАВИТЬ(E6;{"  ;)  ";"(";"()";"-"};""  ;)  , работать не хочет.
Подскажите пожалуйста почему не работает?
Изменено: Kladez - 24 Дек 2012 22:15:48
 
Извиняюсь конечно, но смайлики не рисовал, там были скобки.
 
В таких случаях снимайте ЧекБокс "Показывать графические смайлы в этом сообщении"
 
Юрий, спасибо, изменил. Новшества)))
 
Не работает, потому что не все функции могут в качестве аргумента принимать массив констант(да и вообще массивы).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
на всякий случай - UDF
Код
Function iReplace(s$, p1$, Optional p2$ = "")
  x1 = Split(Left(p1, Len(p1) - 1), Right(p1, 1))
  If p2 > "" Then x2 = Split(Left(p2, Len(p2) - 1), Right(p2, 1)) Else x2 = Array()
  For i% = 0 To UBound(x1)
    If UBound(x2) < i Then ss$ = "" Else ss = x2(i)
    s = R eplace(s, x1(i), ss)
  Next
  iReplace = s
End F unction


примеры использования:
Код
=iReplace("abf-64.hf\;g,. gf", ".;,;\;") => "abf-64hf;g gf"
=iReplace("abf-64.hf\g,. gf", ".|,|\|;|") => "abf-64hfg gf"
=iReplace("abf-64.hf\g,. gf", ".|,|\|;|","-") => "abf-64hf\g, gf"
=iReplace("abf-64.hf\g,. gf", ".|,|\|;|","-;-;-;-;") => "abf-64-hf-g-- gf"
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
поправка
Код
=iReplace("abf-64.hf\g,. gf", ".|,|\|;|","-") => "abf-64-hf\g,- gf"
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Читают тему (гостей: 1)