
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/Index
oder 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: