
'凑了一个看上差不多
Option Explicit
Sub abc()
Dim a, i, p, sum
a = [a1].CurrentRegion.Offset(1).Resize(, 5).Value
For i = 1 To UBound(a) - 1
If Len(a(i, 3)) Then p = i
a(i, 3) = a(p, 3)
sum = sum + a(i, 4)
If Len(a(i + 1, 3)) Or i = UBound(a) - 1 Then
a(p, 5) = sum
sum = 0
End If
Next
[g2].Resize(UBound(a, 1) - 1, UBound(a, 2)) = a
End Sub