I think i may have figured something out for you, I am not sure if this is what you are looking for or not BUT i spent the last couple hours trying to figure out how to do this and i may have a solution. If you want to check it out, just click the link to the base i have for this below.
You should be able to see the formulas on how i did everything but if you have any questions just ask. I have the minutes converted to 100s instead of 60s because of how one of the formulas worked and used an IF statement after that. The last column (Total Hours Worked) should be the output you need.
If anyone else sees a better way to do this I am open to feedback.
Since durations are stored as seconds, you can convert durations to minutes by dividing by 60, and durations to hours by dividing by 3600. Depending on how you want to treat increments of 0.05 hours, you can surround the calculation with ROUND()
, ROUNDUP()
, or ROUNDDOWN()
. The following shows representative values for
ROUND({Duration}/3600,1)
ROUNDUP({Duration}/3600,1)
ROUNDDOWN({Duration}/3600,1)
respectively.

Since durations are stored as seconds, you can convert durations to minutes by dividing by 60, and durations to hours by dividing by 3600. Depending on how you want to treat increments of 0.05 hours, you can surround the calculation with ROUND()
, ROUNDUP()
, or ROUNDDOWN()
. The following shows representative values for
ROUND({Duration}/3600,1)
ROUNDUP({Duration}/3600,1)
ROUNDDOWN({Duration}/3600,1)
respectively.

Thanks for the Replies!
The formula I ended up using was
IF( {Time} <= 540, ‘0:06’, INT( ((ROUND( (({Time}/3600) / 0.1), 0) * 0.1)*3600)/3600 )& ‘:’& IF( MOD( ((ROUND( (({Time}/3600) / 0.1), 0) * 0.1)*3600)/60, 60 )<10, ‘0’ )& ROUND( MOD( ((ROUND( (({Time}/3600) / 0.1), 0) * 0.1)*3600)/60, 60 ),0))
I ended up having to modify it a little bit in the process because we never wanted the result to be “0”.