You're right. But a counter argument is that it is 'more correct' as TVM incurs rounding errors whereas the table doesn't. I get 1187.9986 using table.
I got the same value (1187.99865079, on float12) using TVM solver.
First, I found the monthly payment to be 208.5024... This value is stored as –tvm.pmt.
Second, I found the balance of the loan after 24 payments to be 11183.9405... (I used the exact value of the monthly payment for this). This value is stored as -tvm.fv
Then I calculated the interest paid in the first two years by calculating 24*-tvm.pmt – (15000 – -tvm.fv). (ie. total paid in two years minus the principal reduction).
I believe there will be no rounding errors using this method.