=LET(
yr,A1,
rng,B3:Y33,
dim,DAY(EOMONTH(DATE(yr,SEQUENCE(,12),1),0)),
lz,IF(rng="","",rng),
d,HSTACK(TOCOL(CHOOSECOLS(lz,SEQUENCE(,12,1,2)),,1),TOCOL(CHOOSECOLS(lz,SEQUENCE(,12,2,2)),,1)),
dt,TOCOL(DATE(yr,SEQUENCE(,12),SEQUENCE(31)),,1),
t,HSTACK(dt,d),
data,FILTER(t,(INDEX(t,,2)<>"")+(INDEX(t,,3)<>"")),
sdta,HSTACK(data,IF(INDEX(data,,3)>=29.5,1)),
abv29half,DROP(PIVOTBY(,MONTH(INDEX(sdta,,1)),INDEX(sdta,,4),COUNT),1,-1),
abv29halpc,TEXT(abv29half/dim,"0%"),
tdta,HSTACK(data,IF(INDEX(data,,2)<=10,1)),
below10,DROP(PIVOTBY(,MONTH(INDEX(tdta,,1)),INDEX(tdta,,4),COUNT),1,-1),
below10pc,TEXT(below10/dim,"0%"),
udta,HSTACK(data,IF(INDEX(data,,2)<=12,1)),
below12,DROP(PIVOTBY(,MONTH(INDEX(udta,,1)),INDEX(udta,,4),COUNT),1,-1),
below12pc,TEXT(below12/dim,"0%"),
vdta,HSTACK(data,IF(INDEX(data,,2)<=15,1)),
below15,DROP(PIVOTBY(,MONTH(INDEX(vdta,,1)),INDEX(vdta,,4),COUNT),1,-1),
below15pc,TEXT(below15/dim,"0%"),
tbl,VSTACK(abv29half,abv29halpc,below10,below10pc,below12,below12pc,below15,below15pc),
final,IF(VALUE(tbl)=0,"",tbl),
mnths,HSTACK("",TEXT(DATE(yr,SEQUENCE(,12,1,1),1),"mmm")),
rws,TOCOL({">= 29.5",">= 29.5 %","<= 10","<= 10 %","<= 12","<= 12 %","<= 15","<= 15 %"}),
VSTACK(mnths,HSTACK(rws,final))
)