Going that path, you could skip third argument in first sumproduct by using subtotal(9->"sum" instead of subtotal(3->"count":
Formula: copy to clipboard
=SUMPRODUCT(SUBTOTAL(9;OFFSET($BB$7:$BB$8902;ROW($BB$7:$BB$8902)-ROW($BB$7);0;1));--($BC$7:$BC$8902=BC7)) / SUMPRODUCT(SUBTOTAL(3;OFFSET($BC$7:$BC$8902;ROW($BC$7:$BC$8902)-ROW($BC$7);0;1));--($BC$7:$BC$8902=BC7))

or
Formula: copy to clipboard
=SUMPRODUCT(SUBTOTAL(9;OFFSET($BB$7:$BB$8902;ROW($BB$7:$BB$8902)-ROW($BB$7);0;1))*($BC$7:$BC$8902=BC7)) / SUMPRODUCT(SUBTOTAL(3;OFFSET($BC$7:$BC$8902;ROW($BC$7:$BC$8902)-ROW($BC$7);0;1))*$BC$7:$BC$8902=BC7))


if (as in the opening post) there are two conditions (let's say second is in BD column) the approach to convert boolean values to 1/0 with multiplication could be especially usefull:

Formula: copy to clipboard
=SUMPRODUCT(SUBTOTAL(9;OFFSET($BB$7:$BB$8902;ROW($BB$7:$BB$8902)-ROW($BB$7);0;1));($BD$7:$BD$8902=BD7)*($BC$7:$BC$8902=BC7)) / SUMPRODUCT(SUBTOTAL(3;OFFSET($BC$7:$BC$8902;ROW($BC$7:$BC$8902)-ROW($BC$7);0;1));($BD$7:$BD$8902=BD7)*($BC$7:$BC$8902=BC7))