Это должно сделать это. Может быть, есть и лучший способ.
Sub GetAverages()
Dim sum As Single
Dim count As Long
Dim cell As Range
For Each cell In ActiveWorkbook.ActiveSheet.Range("a1", ActiveSheet.Range("A1").End(xlDown))
If CStr(cell.Value) = "KEYWORD" Then
If count > 0 Then
ActiveWorkbook.ActiveSheet.Cells(cell.Row - 1, cell.Column + 1).Value = sum / count
End If
count = 0
sum = 0
Else
sum = sum + cell.Value
count = count + 1
End If
Next cell
End Sub
Это вывело это на мои образцы данных ...
KEYWORD
92
20
93692
936
92 18966.4
KEYWORD
32
324 178
KEYWORD
235
324
23
3
342
2
343
34 163.25
KEYWORD