=LET(
lookBack, 12,
prevDay, E5:AG5,
prevDayOutput, E6:AG6,
currDay,E8:AG8,
output, DROP(REDUCE(prevDayOutput, SEQUENCE(,COLUMNS(currDay)), LAMBDA(x,y,
HSTACK(x, IF(INDEX(currDay, y), INDEX(currDay, y),
LET(
v, TAKE(DROP(HSTACK(prevDay, TAKE(currDay,, y)),,-1),,-lookBack),
out, IF(OR(AND(v>0), TAKE(x,,-1)=0, AND(v=0), AND(TAKE(x,,-lookBack)>0)), 0, 0.5),
out
)
))
)),,COLUMNS(prevDayOutput)),
output)