Как получить несколько уникальных результатов из матрицы данных по совпадению/индексу

Как получить несколько уникальных результатов из матрицы данных по совпадению/индексу

У меня есть две колонки:

    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

Где каждому идентификатору курса может быть назначено несколько профессоров.

В другой части того же листа у меня есть список идентификаторов курсов, и я хочу вставить назначенных профессоров с помощью формулы:

    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

Я вручную предоставлю данные вА,БиДстолбцов, то я хочу получить результаты вЕ2,Е3,Е4с помощью Match/Indexили VLOOKUP.
Мое ограничение заключается в том, что я не могу добавить ни одного нового столбца и, возможно, ограничить пользователей сортировкой данных по определенному столбцу.

Кто-нибудь может мне помочь.

решение1

С данными, похожими на опубликованные вами данные, этот короткий макрос:

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

будет производить:

введите описание изображения здесь

Связанный контент