If you look at the following rewrite...
=SUMPRODUCT(--SUBSTITUTE(TEXT(C3:H3,"0.00"),".",":"),{-1,1,-1,1,-1,1})*24
you see that two arrays are multiplied. Fx cannot supply them by just range selection. You need to understand the way it's constructed.
You have ib C3:H3...
5.3, 8.32, 9.02, 10, 10.2, 14
which stand for or represent:
5:30, 8:32, 9:02, 10:00, 10:20, 14:00
To obtain the latter series...
1] Apply
TEXT(C3:H3,"0.00")
in order obtain numbers in 0.00 format which makes them look like time values...
{"5.30","8.32","9.02","10.00","10.20","14.00"}
with the exception of dots. Using SUBSTITUTE, one can replace dot with colon...
SUBSTITUTE({"5.30","8.32","9.02","10.00","10.20","14.00"},".",":")
{"5:30","8:32","9:02","10:00","10:20","14:00"}
This text-formatted time values will all become real, numeric values if multiplied with a number or set of numbers. In the array formula, this conversion into numbers occur by *. In the SumProduct version by the preceeding double negation. Thus:
--{"5:30","8:32","9:02","10:00","10:20","14:00"}
leads to:
{0.229166666666667,0.355555555555556,0.376388888888889,0.416666666666667,0.430555555555556,0.583333333333333}
If this array values can be multiplied with an equally sized identity vector (vector consisting of 1's) of which the sign (- or +) of each item appropriately selected like in this case
{-1,1,-1,1,-1,1}
one obtains after multiplication (by * in the Sum version and by , in the SumProduct version)...
{-0.229166666666667,0.355555555555556,-0.376388888888889,0.416666666666667,-0.430555555555556,0.583333333333333}
When summed, one gets effectively the required subtractions and additions and obtains the desired result.