Hallo Jonas,
nun du könntest in einem Standardmodul z.B. folgenden Code nutzen. Damit erstellst du eine Benutzerformel.
Function SelParticipants(Condition, SearchArea As Range, Optional Selector = 1, Optional Delimiter As String = ", ") As String
Dim c As Range, cl As Long, ret As String, maxrow As Long
With SearchArea.Parent
maxrow = .Cells(.Rows.Count, SearchArea.Column).End(xlUp).Row
End With
For Each c In SearchArea.Rows(1).Cells
If c = Condition Then
cl = c.Column
Exit For
End If
Next c
If cl > 0 Then
For Each c In SearchArea.Columns(1).Cells
If c.Row > SearchArea.Row And c <> "" And c.Offset(0, cl - SearchArea.Column) = Selector Then
ret = ret & c.Text & Delimiter
End If
If c.Row > maxrow Then Exit For
Next c
End If
If Len(ret) > 0 Then ret = Left(ret, Len(ret) - Len(Delimiter))
SelParticipants = ret
End Function
Dann brauchst du im Blatt Protokolle nur noch folgende Formel eingeben: =SelParticipants(A2;Anwesenheit!$A$3:$D$30)
Die Formel sucht in der ersten Zeile des Suchbereichs nach der im ersten Parameter angegebenen Bedingung (hier das Datum) und verwendet diese Spalte für den Selektor-Vergleich. Nun summiert sie alle Texte der ersten Spalte des Suchbereichs, bei denen der Selektor gefunden wurde.
Optional kannst du auch einen dritten Parameter eingeben, falls du statt mit 1 lieber mit x markierst: =SelParticipants(A2;Anwesenheit!$A$3:$D$30;"x")
Oder auch einen vierten Parameter, falls du ein anderes Trennzeichen haben willst: =SelParticipants(A2;Anwesenheit!$A$3:$D$30;"x";"/")
Bei Fragen einfach melden.
Gruß Mr. K.
|