Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 06:57   #1
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию Сравнение текстовых значений в подтягиваемых ячейках

Здравствуйте Сообщники!
Возник следующий вопрос:
1. Требуется сравнить тестовые значения между подтягиваемыми ячеками
2. При условие, что 4-ре подряд символа совпадают --> подтянуть

Например:
исходное "Трим 09" - сравниваем с подтягиваемым "Трим" - подтягиваем сравниваемое "Трим".

Стандартными средствами Excel ВПР с ИСТИНОЙ нет возможности работать, так как подтягивает он разную чушь, например к Трим подтягивает Толкушку и т.д.

Вопрос:
1. Есть ли возможность не залезая в макрос решить стандартными средствами Excel подобную задачу.
2. Если все же макрос надо писать, то можете подсказать код (особенно интересует как цикл задать с условием сравнения 4-х подряд совпадающих символа)

UPD:
В общем задача сводится к следующему:
1. Есть два масива (с текстовыми значениями) "A" и "B" на разных листах
2. Надо, что бы сравнивались значения масива "А" со значениями масива "B" и там где в строке более 4-х совпадений подряд посторяющихся символов значениям "А" присваивались значения "B".

В общем, что то у меня не клется с этим, может кто подскажет, а то в VBA не силен, да и вообще не силен в этом деле.

UPD1:
Прикрипил пример 80кб.
Вложения
Тип файла: rar Пример_Классификатор_1.rar (80.6 Кб, 18 просмотров)

Последний раз редактировалось Alexander Shurov; 13.11.2012 в 11:56.
Alexander Shurov вне форума Ответить с цитированием
Старый 13.11.2012, 09:44   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Alexander Shurov Посмотреть сообщение
...Есть ли возможность не залезая в макрос решить стандартными средствами Excel подобную задачу?
Есть. Используйте функции листа ПОИСК() или НАЙТИ()
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 13.11.2012, 09:49   #3
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Есть. Используйте функции листа ПОИСК() или НАЙТИ()
Да, но только когда сравниваемых лементов более 14'000 как то грустно становитя пользовать "поиск"
Alexander Shurov вне форума Ответить с цитированием
Старый 13.11.2012, 10:10   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

А какая для Вас разница 14 значений надо сравнить или 140 тысяч? Или миллион?
Составление формулы и заполнение ею диапазона в общей сложности занимает не более нескольких секунд.
В чём проблема-то?
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 13.11.2012, 10:18   #5
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
А какая для Вас разница 14 значений надо сравнить или 140 тысяч? Или миллион?
Составление формулы и заполнение ею диапазона в общей сложности занимает не более нескольких секунд.
В чём проблема-то?
Я в UPD написал в чем суть. просто как то не могу себе представить, что "НАЙТИ" можно перебрать элементы одного массива и сравнить их с элементами другого масива, причем кол-во элементов в массивах не равны.

Или я чего то не понимаю или мы говорим о разных операциях.

Последний раз редактировалось Alexander Shurov; 13.11.2012 в 10:26.
Alexander Shurov вне форума Ответить с цитированием
Старый 13.11.2012, 11:03   #6
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Alexander Shurov Посмотреть сообщение
Или я чего то не понимаю или мы говорим о разных операциях.
Я говорю о тех условиях, которые Вы описали в топике. Можно и далее переписываться до тех пор, пока Вы не приложите пример (смотрю в последнем посту уже появились условия, которых не было изначально, типа "причем кол-во элементов в массивах не равны").
Возможно пример вообще будет отличаться от заявленной темы, как это часто и происходит
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 13.11.2012, 11:23   #7
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Я говорю о тех условиях, которые Вы описали в топике. Можно и далее переписываться до тех пор, пока Вы не приложите пример (смотрю в последнем посту уже появились условия, которых не было изначально, типа "причем кол-во элементов в массивах не равны").
Возможно пример вообще будет отличаться от заявленной темы, как это часто и происходит
Прикрипил пример, см. последний UPD
Alexander Shurov вне форума Ответить с цитированием
Старый 13.11.2012, 11:38   #8
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Для примера полторы сотни кило в архиве - многовато

Выложите ПРИМЕР на пару-тройку десятков строк иначе я всё-равно его скачать не смогу (ограничение по скачиванию на работе - 100 Кб)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 13.11.2012, 11:57   #9
Alexander Shurov
Пользователь
 
Регистрация: 09.08.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Для примера полторы сотни кило в архиве - многовато

Выложите ПРИМЕР на пару-тройку десятков строк иначе я всё-равно его скачать не смогу (ограничение по скачиванию на работе - 100 Кб)
Прикрипил, на 80кб. см. UPD, мне собственно сам мой файл можно не лопатить, мне бы просто принцип показать, как это работает.
Alexander Shurov вне форума Ответить с цитированием
Старый 13.11.2012, 12:22   #10
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

D3:
Код:
=ПРОСМОТР(9E+307;ПОИСК("*"&'Новые названия'!$B$2:$B$2554&"*";'Старые названия_исходные'!B3);'Новые названия'!$B$2:$B$2554)
тянем вниз
P.S.
Что такое UPD?
И как ее можно прикрипить?
ZORRO2005 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение и загрузка в файл текстовых значений и значений типа Boolean krikaved Общие вопросы Delphi 1 16.03.2010 07:53
удаление значений в ячейках pirat:) Microsoft Office Excel 4 23.12.2008 20:54
Сравнение значений в ячейках и вывод соообщения если не равно. Siver Microsoft Office Excel 2 18.12.2008 04:42
Сравнение значений в ячейках и выдача результата в различиях tovruslan Microsoft Office Excel 1 02.12.2008 22:25
Сравнение текстовых файлов BR17UY Общие вопросы Delphi 15 07.05.2007 20:18