Страницы: 1
RSS
Квадратные скобки для Яндекс Директа в Excel
 
Здравствуйте.
Необходимо разрекламировать контору которая находиться в Н Новгороде
Контора продает билеты на самолет и на поезд
В яндекс директе есть оператор [] (Квадратные скобки)
Имена они учитывают последовательность слов в фразе

Проблема
После парсинга получилась примерно такая картина
билеты Новгород Питер
самолет Новгород Москва
Новгород Москва билеты на поезд
билеты на самолет Новгород Москва бизнес класс
Новгород Томск билет
Новгород Новосибирск поезд
Новгород Тольятти
Новгород Адлер билеты
Поезд Новгород Адлер
Новгород Сочи

Необходимо в экселе добиться такого результата
билеты [Новгород Питер]
самолет [Новгород Москва ]
[Новгород Москва] билеты на поезд
билеты на самолет [Новгород Москва] бизнес класс
[Новгород Томск] билет
[Новгород Новосибирск] поезд
[Новгород Тольятти]
[Новгород Адлер] билеты
Поезд [Новгород Адлер]
[Новгород Сочи]

1. Парсинг производился по базовым ключевикам "Новгород Питер",  "Новгород Москва" итд.
2. Можно заменить Новгород на [Новгород, а вот со вторым городом придется мучится так как они разные.

Можно ли как то взять базовые ключи по которым шел парсинг... массово найти все эти значения... и массово заменить на нужное.
Заранее спасибо!!!
 
 
Здравия. Попробуйте такой алгоритм:
1) фразы в массив
2) цикл по фразам
3) разбили фразу сплитом (Split) на массив по разделителю пробел
4) цикл по разбитой фразе если нашли Новгород, то добавляем вначале [, а в следующем элементе массива в конец добавляем ] и выходим из второго цикла
5) восстанавливаем разбитую фразу (Join)
6) выгружаем массив на лист
Всё.
Если будут города из двух слов с пробелом, то надо думать над другим алгоритмом.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Как то сложно.
Я не настолько эксперт в excel
Можно по подробней
для чайников желательно
 
Выделить диапазон фраз, запустить макрос - результат на новом листе.
Скрытый текст
Макрос в отдельный модуль. Куда вставлять код и как запускать читайте в приёмах раздел "макросы".

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
что то не совсем у меня получилось...
наверное что то не так делаю...

И мне кажется это с помощью формулы можно сделать
Или я ошибаюсь?
 
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A15&" ";ПОИСК(" ";A15&" ";ПОИСК("Новгород";A15&" ")+9);1;"] ");ПОИСК("Новгород";A15&" ");1;"[Н")
 
RAN
Спасибо большое... Помогло
Но бывает что город состоит из 2 слов... Например Новгород Санкт Петербург
По сути Даже если будет так "[Новгород Санкт] Петербург" Это Норм... то есть ошибкой не будет

Для себя хотел уточнить может быть можно сделать примерно так...
Это намного удобней будет как мне кажется.
Файл во вложении.

Если это реально то вообще круто будет
С другой стороны это уже облегчает работу
Изменено: stem2002 - 13.12.2016 03:17:35
 
Цитата
stem2002 написал: мне кажется это с помощью формулы можно сделать
Будьте добры, в следующий раз сразу озвучивать предпочтительный путь решения, чтобы помогающие зря не тратили своё время. Спасибо.
Цитата
stem2002 написал: Санкт Петербург
Пишется НЕ через пробел, а через дефис:
Санкт-Петербург.
Цитата
JayBhagavan написал: Если будут города из двух слов с пробелом, то надо думать над другим алгоритмом.
Данное предположение Вы никак не прокомментировали.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan.
1. Прошу прощения. В следующий раз буду предупреждать что макросы это не для меня... лучше формулой
2. Я могу поставить дефис, но после парсинга этот дефис исчезнет
3. Да я сразу не сообразил.

Я второй раз скинул файл.
Интересно можно это осуществить формулой?
 
для вашего примера:
=ПОДСТАВИТЬ(A3;ИНДЕКС($B$3:$B$9;ПОИСКПОЗ(1=0;ЕОШ(ПОИСК($B$3:$B$9;A3));0));ИНДЕКС($C$3:$C$9;ПОИСКПОЗ(1=0;ЕОШ(ПОИСК($B$3:$B$9;A3));0)))

формула массива, вводится Ctrl+Shift+Enter. Вводите в одну ячейку, потом протягиваете.
F1 творит чудеса
 
Максим Зеленский
Все работает!!!
Спасибо вам огромное!!!!!!!!!!!!!  
Страницы: 1
Читают тему
Наверх