I'm with rwg for approach but would probably opt for non-volatile INDEX over INDIRECT, eg (based on your earlier upload):

C1: =IF(B3,"",COUNTIF(B3:INDEX(B3:B15,MATCH(1,B3:B15)),0))