Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Подсчет совпадающий значений. (http://forum.oszone.net/showthread.php?t=309766)

kontox 29-12-2015 15:52 2589546

Подсчет совпадающий значений.
 
Вложений: 1
Подскажите, есть 2 столбца. В них фамилии. Когда сделать ,чтобы мне был выдан список тех фамилий, который совпадает с первым столбцом. На всякий случай прикрепил эксель файл

Iska 30-12-2015 03:15 2589701

Цитата:

Цитата kontox
список тех фамилий, который совпадает с первым столбцом. »

Фактически, Вам надо найти все совпадения столбцов между собой, так? Замечание: в первом столбце у Вас есть пустая ячейка (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 здесь.

Рассчитано, что данные будут расположены непрерывно на первом листе Рабочей книги с первой же строки в первых двух столбцах без заголовков. Результат совпадений будет помещён на второй лист (он а) должен быть, и б) должен быть пустым).

Результат из приведённого примера


Время: 03:42.

Время: 03:42.
© OSzone.net 2001-