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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск и Замена нестрогого соответствия символов - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск и Замена нестрогого соответствия символов (Excel)
Поиск и Замена нестрогого соответствия символов
lcduikt Дата: Среда, 14.06.2017, 10:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Всем привет!

Ребята, надо грамотно воспользоватся функцией "Поиск и Замена". Читал в интернете о понятии "поиск нестрогого соответствия символов", а как сделать "нестрогую замену символов"?

Есть например комбинация:

380993803298

Мне нужно найти все 380 и заменить их на 0, но чтоб 380 (которые в середине комбинации) не менялись?(

Пытался делать так:
Найти: 380?????????
Заменить на: 0

Тогда вообще все цифры превратились в 0((
 
Ответить
СообщениеВсем привет!

Ребята, надо грамотно воспользоватся функцией "Поиск и Замена". Читал в интернете о понятии "поиск нестрогого соответствия символов", а как сделать "нестрогую замену символов"?

Есть например комбинация:

380993803298

Мне нужно найти все 380 и заменить их на 0, но чтоб 380 (которые в середине комбинации) не менялись?(

Пытался делать так:
Найти: 380?????????
Заменить на: 0

Тогда вообще все цифры превратились в 0((

Автор - lcduikt
Дата добавления - 14.06.2017 в 10:25
AndreTM Дата: Среда, 14.06.2017, 10:43 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Вам надо искать не "нестрогое соответствие", а "поиск первого вхождения", например :)
Приведите файл-пример бОльшим количеством данных (что есть и что должно получиться), чтобы можно было хоть что-то конкретное посоветовать.

P.S. И попросите модераторов перенести тему в другой раздел - "вопросы по Excel" или "вопросы по VBA", поскольку "Готовые решения" - это не "вы ищете готовое решение", а "разработчик публикует готовое законченное решение" :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеВам надо искать не "нестрогое соответствие", а "поиск первого вхождения", например :)
Приведите файл-пример бОльшим количеством данных (что есть и что должно получиться), чтобы можно было хоть что-то конкретное посоветовать.

P.S. И попросите модераторов перенести тему в другой раздел - "вопросы по Excel" или "вопросы по VBA", поскольку "Готовые решения" - это не "вы ищете готовое решение", а "разработчик публикует готовое законченное решение" :D

Автор - AndreTM
Дата добавления - 14.06.2017 в 10:43
zs Дата: Среда, 14.06.2017, 12:04 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
Код
=ЕСЛИ(ДЛСТР(A1)/2=НАЙТИ("380";A1;2);--(ПОДСТАВИТЬ(ПСТР(A1;1;(ДЛСТР(A1)/2)-1);"380";0)&"380"&ПОДСТАВИТЬ(ПСТР(A1;(ДЛСТР(A1)/2)+3;100);"380";0));--ПОДСТАВИТЬ(A1;"380";0))


Сообщение отредактировал zs - Среда, 14.06.2017, 12:22
 
Ответить
Сообщение
Код
=ЕСЛИ(ДЛСТР(A1)/2=НАЙТИ("380";A1;2);--(ПОДСТАВИТЬ(ПСТР(A1;1;(ДЛСТР(A1)/2)-1);"380";0)&"380"&ПОДСТАВИТЬ(ПСТР(A1;(ДЛСТР(A1)/2)+3;100);"380";0));--ПОДСТАВИТЬ(A1;"380";0))

Автор - zs
Дата добавления - 14.06.2017 в 12:04
китин Дата: Среда, 14.06.2017, 12:20 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Код
=ЕСЛИ(ЛЕВБ(G6;3)="380";ПОДСТАВИТЬ(G6;ЛЕВБ(G6;3);0;1);G6)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Среда, 14.06.2017, 12:28
 
Ответить
Сообщение
Код
=ЕСЛИ(ЛЕВБ(G6;3)="380";ПОДСТАВИТЬ(G6;ЛЕВБ(G6;3);0;1);G6)

Автор - китин
Дата добавления - 14.06.2017 в 12:20
zs Дата: Среда, 14.06.2017, 12:23 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
zs, а вы формулу на предложенном примере пробовали

проверено
 
Ответить
Сообщение
zs, а вы формулу на предложенном примере пробовали

проверено

Автор - zs
Дата добавления - 14.06.2017 в 12:23
AndreTM Дата: Среда, 14.06.2017, 12:24 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
zs, вы в курсе про наличие четвертого параметра у ПОДСТАВИТЬ()? :)
Код
=ПОДСТАВИТЬ(A1;"380";"000";1)

Конечно, без доп.условия - формула заменит "380" в середине. Но (!) только в том случае, если строка не начинается с "380"...


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 14.06.2017, 12:26
 
Ответить
Сообщениеzs, вы в курсе про наличие четвертого параметра у ПОДСТАВИТЬ()? :)
Код
=ПОДСТАВИТЬ(A1;"380";"000";1)

Конечно, без доп.условия - формула заменит "380" в середине. Но (!) только в том случае, если строка не начинается с "380"...

Автор - AndreTM
Дата добавления - 14.06.2017 в 12:24
китин Дата: Среда, 14.06.2017, 12:26 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
проверено

ну там я писал про первую формулу. да и эта не проверена

Мне нужно найти все 380 и заменить их на 0


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
проверено

ну там я писал про первую формулу. да и эта не проверена

Мне нужно найти все 380 и заменить их на 0

Автор - китин
Дата добавления - 14.06.2017 в 12:26
zs Дата: Среда, 14.06.2017, 12:29 | Сообщение № 8
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
вы в курсе

проверьте 380993803380- должно получиться 9938030
 
Ответить
Сообщение
вы в курсе

проверьте 380993803380- должно получиться 9938030

Автор - zs
Дата добавления - 14.06.2017 в 12:29
zs Дата: Среда, 14.06.2017, 12:31 | Сообщение № 9
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
да и эта не проверена

но чтоб 380 (которые в середине комбинации) не менялись
 
Ответить
Сообщение
да и эта не проверена

но чтоб 380 (которые в середине комбинации) не менялись

Автор - zs
Дата добавления - 14.06.2017 в 12:31
китин Дата: Среда, 14.06.2017, 12:31 | Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
zs,
К сообщению приложен файл: 1096044.xlsx (20.3 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеzs,

Автор - китин
Дата добавления - 14.06.2017 в 12:31
zs Дата: Среда, 14.06.2017, 12:36 | Сообщение № 11
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
Ребята, надо грамотно воспользоватся функцией "Поиск и Замена".

задача lcduikt
 
Ответить
Сообщение
Ребята, надо грамотно воспользоватся функцией "Поиск и Замена".

задача lcduikt

Автор - zs
Дата добавления - 14.06.2017 в 12:36
AndreTM Дата: Среда, 14.06.2017, 12:36 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
проверьте 380993803380- должно получиться 9938030


Не получается :( Что я делаю не так? :D

На самом деле, у меня всё получается, как хочет ТС (и как это вижу я)
К сообщению приложен файл: 2548531.jpg (16.5 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 14.06.2017, 15:02
 
Ответить
Сообщение
проверьте 380993803380- должно получиться 9938030


Не получается :( Что я делаю не так? :D

На самом деле, у меня всё получается, как хочет ТС (и как это вижу я)

Автор - AndreTM
Дата добавления - 14.06.2017 в 12:36
zs Дата: Среда, 14.06.2017, 12:37 | Сообщение № 13
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
Мне нужно найти все 380 и заменить их на 0

=--ПОДСТАВИТЬ(A1;"380";0)
[moder]Нарушение п.3 Правил форума в части тегов


Сообщение отредактировал _Boroda_ - Четверг, 15.06.2017, 22:49
 
Ответить
Сообщение
Мне нужно найти все 380 и заменить их на 0

=--ПОДСТАВИТЬ(A1;"380";0)
[moder]Нарушение п.3 Правил форума в части тегов

Автор - zs
Дата добавления - 14.06.2017 в 12:37
zs Дата: Среда, 14.06.2017, 13:50 | Сообщение № 14
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
Не получается

а так
Код
=ЕСЛИ(-ЕОШ(НАЙТИ("380";A4;2))=1;ЕСЛИ(ДЛСТР(A4)/2=НАЙТИ("380";A4;2);A4;ЕСЛИ(ДЛСТР(A4)/2=НАЙТИ("380";A4;2);--(ПОДСТАВИТЬ(ПСТР(A4;1;(ДЛСТР(A4)/2)-1);"380";0)&"380"&ПОДСТАВИТЬ(ПСТР(A4;(ДЛСТР(A4)/2)+3;100);"380";0))));--ПОДСТАВИТЬ(A4;"380";0))
 
Ответить
Сообщение
Не получается

а так
Код
=ЕСЛИ(-ЕОШ(НАЙТИ("380";A4;2))=1;ЕСЛИ(ДЛСТР(A4)/2=НАЙТИ("380";A4;2);A4;ЕСЛИ(ДЛСТР(A4)/2=НАЙТИ("380";A4;2);--(ПОДСТАВИТЬ(ПСТР(A4;1;(ДЛСТР(A4)/2)-1);"380";0)&"380"&ПОДСТАВИТЬ(ПСТР(A4;(ДЛСТР(A4)/2)+3;100);"380";0))));--ПОДСТАВИТЬ(A4;"380";0))

Автор - zs
Дата добавления - 14.06.2017 в 13:50
Nic70y Дата: Четверг, 15.06.2017, 20:30 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
найти - заменить на
380 - '380
'380 - ю
380 - 000 (или один ноль как нужно)
ю - 380

ну и формула
Код
=ПОДСТАВИТЬ(A1;380;0;ПОИСК(380;A1&380)^4)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 15.06.2017, 20:51
 
Ответить
Сообщениенайти - заменить на
380 - '380
'380 - ю
380 - 000 (или один ноль как нужно)
ю - 380

ну и формула
Код
=ПОДСТАВИТЬ(A1;380;0;ПОИСК(380;A1&380)^4)

Автор - Nic70y
Дата добавления - 15.06.2017 в 20:30
zs Дата: Четверг, 15.06.2017, 23:44 | Сообщение № 16
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
ну и формула

3806734897643800
результат= 06734897643800
 
Ответить
Сообщение
ну и формула

3806734897643800
результат= 06734897643800

Автор - zs
Дата добавления - 15.06.2017 в 23:44
Nic70y Дата: Пятница, 16.06.2017, 06:53 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
zs, и што?
так и должно быть


ЮMoney 41001841029809
 
Ответить
Сообщениеzs, и што?
так и должно быть

Автор - Nic70y
Дата добавления - 16.06.2017 в 06:53
zs Дата: Пятница, 16.06.2017, 08:37 | Сообщение № 18
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
zs, и што?

06734897643800
 
Ответить
Сообщение
zs, и што?

06734897643800

Автор - zs
Дата добавления - 16.06.2017 в 08:37
Pelena Дата: Пятница, 16.06.2017, 10:07 | Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
06734897643800

но чтоб 380 (которые в середине комбинации) не менялись


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
06734897643800

но чтоб 380 (которые в середине комбинации) не менялись

Автор - Pelena
Дата добавления - 16.06.2017 в 10:07
zs Дата: Пятница, 16.06.2017, 10:18 | Сообщение № 20
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
которые в середине комбинации

середина 8 позиция, а искомый результат на 5 дальше
 
Ответить
Сообщение
которые в середине комбинации

середина 8 позиция, а искомый результат на 5 дальше

Автор - zs
Дата добавления - 16.06.2017 в 10:18
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск и Замена нестрогого соответствия символов (Excel)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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