So erhalten Sie per Match/Index mehrere eindeutige Ergebnisse aus einer Datenmatrix

So erhalten Sie per Match/Index mehrere eindeutige Ergebnisse aus einer Datenmatrix

Ich habe zwei Spalten:

    Column A     Column B

 1  Course ID   Professors  <---- (Column Headers)  
 2  1179/03     Professor-1  
 3  1179/03     
 4  1179/03     
 5  1300/20     Professor-2   
 6  1300/20     Professor-3  
 7  1300/21     Professor-2  
 8  1300/21     Professor-3  
 9  1300/21     Professor-4  
10  1300/21     Professor-4
11  1300/21     Professor-4

Dabei können jeder Lehrveranstaltungs-ID mehrere Professoren zugeordnet sein.

In einem anderen Teil desselben Blattes habe ich eine Liste mit Kurs-IDs und möchte die zugewiesenen Professoren mittels einer Formel einfügen:

    Column D     Column E

1  Course ID   Professors   <---  (Column Header)  
2  1179/03     Professor-1  
3  1300/20     Professor-2, Professor-3  
4  1300/21     Professor-2, Professor-3, Professor-4

Ich werde die Daten manuell imA,BUndDSpalten, dann möchte ich die Ergebnisse in denE2,E3,E4mittels Match/Indexoder VLOOKUP.
Meine Einschränkung besteht darin, dass ich keine neuen Spalten hinzufügen kann und Benutzer möglicherweise darauf beschränken kann, Daten nach einer bestimmten Spalte zu sortieren.

Kann mir bitte jemand helfen?

Antwort1

Mit Daten, die Ihren geposteten Daten ähneln, dieses kurze Makro:

Sub Roster()
    Dim rc As Long, i As Long, j As Long, v As String
    Dim nA As Long, nB As Long, nD As Long, vv As String

    rc = Rows.Count
    nA = Cells(rc, 1).End(xlUp).Row
    nB = Cells(rc, 2).End(xlUp).Row
    nD = Cells(rc, 4).End(xlUp).Row

    For i = 2 To nD
        v = Cells(i, 4)
        vv = ""
        For j = 2 To nA
            If v = Cells(j, 1) And Cells(j, 2) <> "" And InStr(1, vv, Cells(j, 2)) = 0 Then
                vv = vv & "," & Cells(j, 2)
            End If
        Next j
        Cells(i, 5) = Mid(vv, 2)
    Next i
End Sub

wird herstellen:

Bildbeschreibung hier eingeben

verwandte Informationen