Sub GPE()
Dim sArr(), dArr(), N As Long
Dim I As Long, K As Long
Dim Nub As Long, Idx As Long
sArr = Range("A3", Range("A" & Rows.Count).End(xlUp)).Resize(, 5).Value
N = Application.Max(Range("D3", Range("D" & Rows.Count).End(xlUp)))
ReDim dArr(1 To UBound(sArr, 1) * N, 1 To UBound(sArr, 2))
For I = 1 To UBound(sArr)
If sArr(I, 4) <> Empty Then
For Idx = 1 To sArr(I, 4)
K = K + 1
dArr(K, 1) = K: dArr(K, 2) = sArr(I, 2)
dArr(K, 3) = sArr(I, 3): dArr(K, 4) = Idx
dArr(K, 5) = sArr(I, 5) / sArr(I, 4)
Next Idx
End If
Next I
If K Then
Range("P3:P5000").Resize(, 5).ClearContents
Range("P3").Resize(K, 5) = dArr
End If
End Sub