For future reference you can bump threads to bring them to the top.
I realise this is only a small part of what you want done, but see if the below at least starts you off. If this is on the right track - forgive the pun - then I might see if I can finish it off.
Sub x()
Dim rTeam As Range, rPit As Range, rSector As Range, rng As Range
Dim r As Long, c As Long, r1 As Long, c1 As Long
r = 5: c = 6
With Sheets("Race Results")
Set rTeam = .Range("C2", .Range("C2").End(xlDown))
Set rPit = .Range("J2", .Range("J2").End(xlDown))
Set rSector = .Range("E2", .Range("E2").End(xlDown))
Sheets("Stint Analysis").Range("F:J").NumberFormat = "ss.000"
For Each rng In .Range("L1", .Range("L1").End(xlDown))
For r1 = 0 To 21 Step 3
For c1 = 0 To 2
Sheets("Stint Analysis").Cells(r + r1, c + c1).FormulaArray = _
"=AVERAGE(IF(('Race Results'!" & rTeam.Address & "=" & rng.Value & ")*('Race Results'!" & rPit.Address & "='Stint Analysis'!$B" & r + r1 - 1 & "),'Race Results'!" & rSector.Offset(, c1).Address & "))"
Next c1
Next r1
r = r + 24
Next rng
End With
End Sub
Bookmarks