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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2013, 16:39   #1
bigfootik
 
Регистрация: 20.12.2013
Сообщений: 7
По умолчанию Сравнение двух массивов

Помогите плз разобраться!

Есть большая матрица данных на листе 1, столбец тектовых значений на листе 2. Нужно выполнить поиск для каждого из тектовых значений с листа 2 в столбце 1 матрицы на листе 1. Это можно делать вручную при помощи фильтра на Листе 1 и поиска в первом столбце каждого значения из Листа 2, но уж очень это долго.
Более "умное" решение пока не могу найти

Файл с примером задачи прилагается
Вложения
Тип файла: rar forum_query.rar (6.7 Кб, 47 просмотров)
bigfootik вне форума Ответить с цитированием
Старый 20.12.2013, 17:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
Вложения
Тип файла: rar forum_query.rar (6.9 Кб, 48 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.12.2013, 17:04   #3
bigfootik
 
Регистрация: 20.12.2013
Сообщений: 7
По умолчанию

Еще забыл добавить: пробовал функции ВПР и ПРОСМОТР и мне кажется они для этой задачи не подходят (либо я не умею ими пользоваться). Поэтому я думаю нужен макрос, а я не силен в VBA.

Может кто подскажет, в каком направлении хоть копать?
Оч. нужно, потому что похожего рода задачи часто стали попадаться и надоело руками перебирать...
bigfootik вне форума Ответить с цитированием
Старый 20.12.2013, 17:13   #4
bigfootik
 
Регистрация: 20.12.2013
Сообщений: 7
По умолчанию

IgorGO, спс большое!
Работает! Теперь разбираюсь - как
bigfootik вне форума Ответить с цитированием
Старый 20.12.2013, 17:25   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот так будет короче, проще и быстрее формула:
Код:
=ЕСЛИ(СУММ(СЧЁТЕСЛИ(RC[-3];"*" & Лист2!R1C1:R4C1 & "*"))=0; "не найден"; ИНДЕКС(Лист2!R1C1:R4C1;ПОИСКПОЗ(1;СЧЁТЕСЛИ(RC[-3];"*" & Лист2!R1C1:R4C1 & "*");)))
фрагмент МАКС(...) из предыдущей формулы достаточно просто заменить на 1
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.12.2013, 17:42   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А не проще ли написать чуть кода?

Код:
Function частонужная(есть As Range, нужно As Range)
    Dim el
    частонужная = ""
    For Each el In нужно.Value
        If Trim(есть) Like "*" & Trim(el) & "*" Then частонужная = el: Exit For
    Next
End Function
и на лист в первую ячейку:

Код:
=частонужная(A13,Лист2!$A$1:$A$4)
и тянуть.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.12.2013, 17:55   #7
bigfootik
 
Регистрация: 20.12.2013
Сообщений: 7
По умолчанию

Ого, еще и варианты...
Спасибо, с макросом тоже попробовал, все работает!
bigfootik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух неравных (по количеству элементов) массивов (JavaScript)) maksimka2112 Помощь студентам 2 07.08.2012 21:04
Сравнение двух массивов(Pascal) Bounty Hunter Помощь студентам 4 19.01.2012 15:58
Сравнение двух массивов с переносом данных Hoochara Microsoft Office Excel 24 29.08.2011 13:04
Delphi, сравнение массивов, умножение массивов Marjasja Помощь студентам 0 22.05.2011 19:59
Сравнение двух массивов Рик Общие вопросы Delphi 3 07.04.2011 15:53