F1
=IF(B1="","",SUM(B$1:B1))
下方向・↓ G列にコピー としてから
A B C D E F G
1 AAA 2 AAA BBB 2
2 BBB 2 AAA BBB 2
3 CCC 1 4 CCC CCC 3 6
4 DDD 1 EEE CCC 7
5 EEE 3 1 EEE CCC 6 8
6 FFF EEE CCC
7 DDD DDD
8 EEE EEE
D1
=IFERROR(INDEX($A:$A,MATCH(TRUE,INDEX(F$1:F$50-ROW(D1)>=0,),0)),"")
下方向・↓ E列にコピー