Alright, PecoFlyer's solution came the closest to what I needed. I only needed to add in the additional logic I talked about in my original post in order to adapt it, and it's now working perfectly. That and it's a significantly more efficient solution than that beast I wrote. Thank you so much.
xor and trevorc's solutions also work, in case you need to report totals as a time value, but their solutions do not provide decimal values for totals, which I had specified in my post. But still, thanks for contributing and being helpful.
In case you want to see my final solution, a relatively simple adaptation on PecoFlyer's formula, here it is:
Code:
=IF(
OR(
AND(
ISBLANK(F9),
ISBLANK(G9),
ISBLANK(I9),
ISBLANK(J9)
),
AND(
ISBLANK(F9),
ISBLANK(I9)
),
AND(
ISBLANK(G9),
ISBLANK(J9)
),
AND(
ISBLANK(G9),
ISBLANK(I9)
),
AND(
NOT(ISBLANK(F9)),
NOT(ISBLANK(G9)),
XOR(
NOT(ISBLANK(I9)),
NOT(ISBLANK(J9))
)
),
ISBLANK(F9),
ISBLANK(G9)
),
"",
IF(
AND(
ISBLANK(I9),
ISBLANK(J9)
),
(TIMEVALUE(TEXT(LEFT(G9,LEN(G9)-2),"00")&":"&RIGHT(G9,2))-TIMEVALUE(TEXT(LEFT(F9,LEN(F9)-2),"00")&":"&RIGHT(F9,2)))*24,
(TIMEVALUE(TEXT(LEFT(G9,LEN(G9)-2),"00")&":"&RIGHT(G9,2))-TIMEVALUE(TEXT(LEFT(F9,LEN(F9)-2),"00")&":"&RIGHT(F9,2))+TIMEVALUE(TEXT(LEFT(J9,LEN(J9)-2),"00")&":"&RIGHT(J9,2))-TIMEVALUE(TEXT(LEFT(I9,LEN(I9)-2),"00")&":"&RIGHT(I9,2)))*24
)
)
Thanks again.