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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2009, 21:31   #1
mistx
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 104
По умолчанию Поиск совпадений

Необходимо сравнить 2 столбца,
если в первом столбце (определенном диапазоне) встречается хоть одно слово из второго столбца, то пиши в 3 столбце (например) "совпадение", иначе "нет".
Вложения
Тип файла: rar совпадение.rar (2.6 Кб, 24 просмотров)
mistx вне форума Ответить с цитированием
Старый 12.08.2009, 21:54   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("C1").Value = "Совпадений нет"

For Each cell In Range("A1:A4")
For Each cell2 In Range("B1:B4")
If (cell = cell2) Then
Range("C1").Value = "Совпадение"
GoTo LAB
End If


Next cell2
Next cell
LAB:

Application.EnableEvents = True





End Sub
motorway вне форума Ответить с цитированием
Старый 12.08.2009, 21:55   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Макрос...........
Вложения
Тип файла: rar совпадение.rar (9.7 Кб, 54 просмотров)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.08.2009, 23:26   #4
mistx
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 104
По умолчанию

motorway
The_Prist
спасибо.
еще вопросик.
при несовпадении хотелось бы, чтобы с первого столбца (где полный список организации) скопировались несовпавшие организации в отдельный диапазон.
mistx вне форума Ответить с цитированием
Старый 13.08.2009, 00:44   #5
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Немного переделал и добавил то, что нужно
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

i = 1
Range("C1").Value = "Совпадений нет"

For Each cell In Range("A1:A4")
For Each cell2 In Range("B1:B4")
Cells(cell.Row, 4).Clear
If (cell = cell2) Then
Range("C1").Value = "Совпадение"
GoTo LAB
End If

Next cell2
Cells(i, 4).Value = cell
i = i + 1
LAB:
Next cell

Application.EnableEvents = True

End Sub
motorway вне форума Ответить с цитированием
Старый 13.08.2009, 07:33   #6
mistx
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 104
По умолчанию

motorway
переделал в макрос, что-то он завис при выполнении.
The_Prist
есть еще одна особенность.
в 1 столбце у меня 525 например строк,
во 2 693 орг-й
Можно ли сделать чтобы сравнивались организации по всему массиву, а не по параллельно
строка со строкой

Последний раз редактировалось mistx; 13.08.2009 в 07:59.
mistx вне форума Ответить с цитированием
Старый 13.08.2009, 09:32   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от mistx Посмотреть сообщение
Можно ли сделать чтобы сравнивались организации по всему массиву, а не по параллельно строка со строкой
У меня макрос и так берет каждое слово в стрке столбца 1 и ищет его во ВСЕМ столбце 2. Вы хоть попробовали прежде чем спросить?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 13.08.2009, 09:43   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Вот макрос с выводом списка несовпадений.
Вложения
Тип файла: rar совпадение.rar (9.6 Кб, 51 просмотров)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 13.08.2009, 10:10   #9
mistx
Форумчанин
 
Регистрация: 30.09.2008
Сообщений: 104
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
У меня макрос и так берет каждое слово в стрке столбца 1 и ищет его во ВСЕМ столбце 2. Вы хоть попробовали прежде чем спросить?
я попробывал, поэтому и спросил.
вставил в 1 столбец первый список организаций
а во второй - второй.
в итоге в 3 столбце во всех строчках получилось "Совпало"
а этого не может быть
mistx вне форума Ответить с цитированием
Старый 13.08.2009, 10:19   #10
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от mistx Посмотреть сообщение
а этого не может быть
Может. Т.к. у Вас и во втором и в первом столбце помимо названий организаций присутствуют слова типа "предприятие", "организация" и т.п. Макрос их опредляет как совпадение и пишет совпало. Программе не объяснишь, что это не надо брать во внимание - она не знает, где название организации, а где просто слово.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Академические задачи по с++ (гдз) Сортировка и поиск совпадений по массиву Andrew#90 Общие вопросы C/C++ 2 10.01.2009 18:44
Нахождение совпадений в двух книгах Professor Hubert Microsoft Office Excel 5 25.07.2008 12:59
ПОИСК FIIR БД в Delphi 3 16.06.2008 16:06
Поиск В бД Старик_Романыч БД в Delphi 5 29.04.2008 21:12
Поиск Vital_k Паскаль, Turbo Pascal, PascalABC.NET 4 22.02.2008 13:01