Показать полную графическую версию : Подсчет совпадающий значений.
Подскажите, есть 2 столбца. В них фамилии. Когда сделать ,чтобы мне был выдан список тех фамилий, который совпадает с первым столбцом. На всякий случай прикрепил эксель файл
список тех фамилий, который совпадает с первым столбцом. »
Фактически, Вам надо найти все совпадения столбцов между собой, так? Замечание: в первом столбце у Вас есть пустая ячейка (A44). Это будет препятствовать корректному определению диапазона ячеек столбца. Я убрал эту пустую ячейку.
У меня под Office 2003 сработало так (простой запрос на пересечение с группировкой):
Sub Sample()
Const adCmdText = &H1
Const adExecuteNoRecords = &H80
Dim strAddressColumnA As String
Dim strAddressColumnB As String
With ThisWorkbook.Worksheets.Item(1)
strAddressColumnA = .Name & "$" & .Range("A1", .Range("A1").End(xlDown)).Address(False, False)
strAddressColumnB = .Name & "$" & .Range("B1", .Range("B1").End(xlDown)).Address(False, False)
End With
With CreateObject("ADODB.Connection")
.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 8.0;" & _
"HDR=No;"";"
.Execute _
"INSERT INTO [" & ThisWorkbook.Worksheets.Item(2).Name & "$] IN '' [Excel 8.0;Database=" & ThisWorkbook.FullName & ";HDR=No;] " & _
"SELECT ColumnB.F1 " & _
"FROM [" & strAddressColumnB & "] ColumnB INNER JOIN [" & strAddressColumnA & "] ColumnA " & _
"ON ColumnB.F1 = ColumnA.F1 " & _
"GROUP BY ColumnB.F1"
.Close
End With
End Sub
Если не сработает — смотрите Connection String под Вашу версию Office здесь (http://www.connectionstrings.com/excel/).
Рассчитано, что данные будут расположены непрерывно на первом листе Рабочей книги с первой же строки в первых двух столбцах без заголовков. Результат совпадений будет помещён на второй лист (он а) должен быть, и б) должен быть пустым).
http://i.imgur.com/NKJ1FMd.png
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.