Why is Excel rounding this calculation?

Solution 1:

Excel calculates correctly. Do the reverse check and divide 97 by 15. The result is exactly the total hours. Just a freak happenstance where several decimal time values result in an integer dollar result. Change one of your time frames by a minute and see the difference.

Number format NEVER has ANY impact on calculation. EVER.

Solution 2:

Because the number of hours is not really 6.47 - that is the figure which is being rounded. The numbers of minutes shown should clearly total something ending in 6 (3+5+8=16), but since those decimals are also rounded, they hide the problem.

The correct amount of time is 6 hours and 28 minutes, which is 6.46666... Multiply by 15 and you get exactly 97, because 28 is evenly divisible by 4 (to get decimal numbers, you divide minutes by 60. Then x 15 means you have x 15/60 = x 1/4).

You might avoid confusion if you keep the times in h:mm format as much as possible rather than decimals, and only convert them in the last step.