ISNUMBER(...) returns TRUE or FALSE.
--ISNUMBER(...) (-1*-1*ISNUMBER(...) coerses that to their equivalent 1 or 0.
So, for example SUMPRODUCT(--ISNUMBER(MATCH(A1:A10, $Z$1:$Z$100, 0))) returns the number of cells in A1:A10 that are also in Z1:Z100.
SUMPRODUCT can not add up {TRUE; FALSE; TRUE; ...}, but it can add up {1; 0; 1; ...}