Spurious 0.0000000000001 added to formula result
Solution 1:
Excel uses floating point math, that means sometimes there are such digits hidden in your values. (https://docs.microsoft.com/en-US/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result)
Those are generally displayed correctly, however when you convert them to text, those indeed may cause issues, one workaround is to use ROUND in your formula:
="+ £"& ROUND(-'Sue''s Outgoings'!C13,2) &" Shortfall"
Solution 2:
To add a fix rather than a workaround to the problem, following the Microsoft Docs page linked by @MátéJuhász:
If you are working on spreadsheets which are purely money based like am here, or anything else to one fixed number of decimal places, you could set the worksheet to "precision as displayed".
Method 2: Precision as displayed
In some cases, you may be able to prevent rounding errors from affecting your work by using the Precision as displayed option. This option forces the value of each number in the worksheet to be the displayed value. To turn on this option, follow these steps.
- On the File menu, click Options, and then click the Advanced category.
- In the When calculating this workbook section, select the workbook that you want, and then select the Set precision as displayed check box.
For example, if you choose a number format that shows two decimal places, and then you turn on the Precision as displayed option, all accuracy beyond two decimal places is lost when you save your workbook. This option affects the active workbook including all worksheets. You cannot undo this option and recover the lost data. We recommend that you save your workbook before you enable this option.
Then there is no need to worry about floating point math errors needing to be worked around with ROUND()
.