Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как найти знак "?" и каждый второй "?" поменять? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как найти знак "?" и каждый второй "?" поменять? (Формулы/Formulas)
Как найти знак "?" и каждый второй "?" поменять?
AdwordsDirect Дата: Понедельник, 11.06.2018, 05:44 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 143
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, как найти в ячейке А1 знаки "?" и каждый 2-3-4-5..N поменять на знак "&"?
И менять только каждый 2-3-4-5 знак "?", а если он один всего, то тоже ничего не менять.
Спасибо.
К сообщению приложен файл: _Microsoft_Offi.xlsx(8.0 Kb)


Сообщение отредактировал AdwordsDirect - Понедельник, 11.06.2018, 05:46
 
Ответить
СообщениеЗдравствуйте, как найти в ячейке А1 знаки "?" и каждый 2-3-4-5..N поменять на знак "&"?
И менять только каждый 2-3-4-5 знак "?", а если он один всего, то тоже ничего не менять.
Спасибо.

Автор - AdwordsDirect
Дата добавления - 11.06.2018 в 05:44
Pelena Дата: Понедельник, 11.06.2018, 06:35 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12905
Репутация: 2843 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"?";"|||";1);"?";"&");"|||";"?")


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"?";"|||";1);"?";"&");"|||";"?")

Автор - Pelena
Дата добавления - 11.06.2018 в 06:35
AdwordsDirect Дата: Понедельник, 11.06.2018, 06:41 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 143
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Благодарен!
 
Ответить
СообщениеБлагодарен!

Автор - AdwordsDirect
Дата добавления - 11.06.2018 в 06:41
sv2014 Дата: Понедельник, 11.06.2018, 09:47 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 212
Репутация: 59 ±
Замечаний: 0% ±

Excel 2013
AdwordsDirect, вариант функций: zzz в B1 или yyy в B2

[vba]
Код
Function zzz$(t$)
     With CreateObject("VBScript.RegExp"): .Pattern = "\?"
         zzz = .Replace(t, "@"): .Global = True: .Pattern = "\?"
         zzz = .Replace(zzz, "&"): .Pattern = "@": zzz = .Replace(zzz, "?")
    End With
End Function
[/vba]

[vba]
Код
Function yyy$(t$)
     With CreateObject("VBScript.RegExp"): .Pattern = "\?": .Global = True:
         yyy = .Replace(t, "&"): .Pattern = "\&": .Global = False: yyy = .Replace(yyy, "?")
    End With
End Function
[/vba]
К сообщению приложен файл: example_11_06_2.xls(30.5 Kb)


Сообщение отредактировал sv2014 - Понедельник, 11.06.2018, 10:14
 
Ответить
СообщениеAdwordsDirect, вариант функций: zzz в B1 или yyy в B2

[vba]
Код
Function zzz$(t$)
     With CreateObject("VBScript.RegExp"): .Pattern = "\?"
         zzz = .Replace(t, "@"): .Global = True: .Pattern = "\?"
         zzz = .Replace(zzz, "&"): .Pattern = "@": zzz = .Replace(zzz, "?")
    End With
End Function
[/vba]

[vba]
Код
Function yyy$(t$)
     With CreateObject("VBScript.RegExp"): .Pattern = "\?": .Global = True:
         yyy = .Replace(t, "&"): .Pattern = "\&": .Global = False: yyy = .Replace(yyy, "?")
    End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 11.06.2018 в 09:47
Светлый Дата: Понедельник, 11.06.2018, 10:46 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 559
Репутация: 131 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте!
Если формат аналогичный, то можно так:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"?";"&");"&";"?";1)

Код
="?"&ПОДСТАВИТЬ(ПСТР(A1;2;999);"?";"&")


Программировать проще, чем писать стихи.
 
Ответить
СообщениеЗдравствуйте!
Если формат аналогичный, то можно так:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"?";"&");"&";"?";1)

Код
="?"&ПОДСТАВИТЬ(ПСТР(A1;2;999);"?";"&")

Автор - Светлый
Дата добавления - 11.06.2018 в 10:46
sv2014 Дата: Вторник, 12.06.2018, 20:43 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 212
Репутация: 59 ±
Замечаний: 0% ±

Excel 2013
AdwordsDirect, добавлю к сообщению #4 ,что в функции yyy не обязательно экранировать знак &,имеется двенадцать метасимволов в контексте регулярных выражений в большинстве диалектов(Perl,PCRE...),в контексте символьного класса четыре.
$()*\+.?^[{|

в VBA одиннадцать метасимволов в контексте регулярных выражений,что демонстрирует функция bbb в файл-примере
$()*\+.?^[|
К сообщению приложен файл: example_12_06_2.xls(31.0 Kb)


Сообщение отредактировал sv2014 - Вторник, 12.06.2018, 20:52
 
Ответить
СообщениеAdwordsDirect, добавлю к сообщению #4 ,что в функции yyy не обязательно экранировать знак &,имеется двенадцать метасимволов в контексте регулярных выражений в большинстве диалектов(Perl,PCRE...),в контексте символьного класса четыре.
$()*\+.?^[{|

в VBA одиннадцать метасимволов в контексте регулярных выражений,что демонстрирует функция bbb в файл-примере
$()*\+.?^[|

Автор - sv2014
Дата добавления - 12.06.2018 в 20:43
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как найти знак "?" и каждый второй "?" поменять? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!