You are missing a parenthesis. But that seems to be just a posting typo.
Next time, copy-and-paste from the Formula Bar.
In any case, the formula can be written a little more cleanly, thus:
Because when you write --(G2:G66), SUMPRODUCT no longer sees G2:G66
directly. Instead, you are telling Excel to perform an arithmetic operation
(double negation) and pass an array of numeric values to SUMPRODUCT.
Only use double negation -- or some other arithmetic operation -- when you
want to convert non-numeric values to numeric values. For
example, --(LEFT(C2:C66,8)="Subtotal") converts an array of TRUE and FALSE
to an array of 1 and 0, which SUMPRODUCT needs to see in order to perform
the "logic" that you intend.