вместо вашей формулы используйте эту:
=IF((ROW(B9)-8) < $G$9, IF((ROW(B9)-8) < ($G$9-$G$10), B8*(1+$C$3), B8*(1-$C$2)), )
, а затем, чтобы получить последнее непустое значение, вы можете сделать просто:
=ARRAYFORMULA(INDIRECT("B"&MAX(IF(B8:B108<>"", ROW(B8:B108), ))))
также вместо ваших формулв строке вы можете просто использовать ArrayFormula в строке 8 :
=ARRAYFORMULA(IF((ROW(B9:B109)-8) < G9,
IF((ROW(B9:B109)-8) < G9-G10, B8:B108*(1+C3), B8:B108*(1-C2)), ))