-3

Я хотел бы перечислить всех одинаковых студентов с их курсами.

Мой пример

School        Teacher   Course      ID      LastName
705 KELLEY    AP        PSYCHOLOGY  1245    AARON             NICHOLAS
705 KELLEY    AP        PSYCHOLOGY  2314    ALARCON-ESPINOZA  LOURDES
705 GAMARRA   AP        SPANISH V   4561    ALCORCHA          JOSE
705 KELLEY    AP        PSYCHOLOGY  5555    CARDOZA           JOSUE
705 GAMARRA   AP        SPANISH V   5555    CARDOZA           JOSUE
705 GAMARRA   AP        SPANISH V   5641    CARDOZA           MARISOL

должен выглядеть так

School     ID      LastName   FirstName    course 1        course 2
705        5555    CARDOZA    JOSUE        AP Psychology   AP Spanish V

1 ответ1

0

Вот какой-то VBA, который должен приблизить вас. Предполагая, что эти данные находятся на Листе 1, что заголовки находятся в строке 1, а столбец курса - "C":

Sub crosstabCourses()
Dim prevStudent, currStudent As String
Dim rowWrite, colWrite, rowRead As Integer

rowWrite = 0
colWrite = 5

For rowRead = 2 To 7
    currStudent = Sheet1.Cells(rowRead, 4)
    If currStudent <> prevStudent Then
        rowWrite = rowWrite + 1
        colWrite = 5
    Else
        colWrite = colWrite + 1
    End If

    Sheet2.Cells(rowWrite, 1) = Sheet1.Cells(rowRead, 1).Value
    Sheet2.Cells(rowWrite, 2) = Sheet1.Cells(rowRead, 4).Value
    Sheet2.Cells(rowWrite, 3) = Sheet1.Cells(rowRead, 5).Value
    Sheet2.Cells(rowWrite, 4) = Sheet1.Cells(rowRead, 6).Value
    Sheet2.Cells(rowWrite, colWrite) = Sheet1.Cells(rowRead, 3).Value

    prevStudent = currStudent

Next rowRead
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .