When we launched our excel compatible spreadsheet we diligently formalized every function and wrote tests to verify behavior. It was beautiful.
Then we started receiving lots of bug reports from users because our calculations often didn’t match what they were seeing in Excel. Older Excel versions had lots of bugs and Microsoft had been carrying them forward because at that point it was “better” to carry the errors forward and display results people expected rather than fixing them and having everyone confused by the changed results.
So we copied their behavior as best we could. I wish I had the list still but it was long and full of weird edge cases which caused formulas to be incorrect.
https://www.joelonsoftware.com/2006/06/16/my-first-billg-rev...
I believe Google made the same choice with Google Sheets even.
Is this specific to Excel? Floating point math can do that regardless of the platform. Addition on floats isn't associative!
No. And yet they still have situations where excel itself will differ from ieee 754. See https://learn.microsoft.com/en-us/office/troubleshoot/excel/...
I make this point when chatting with new team members that say "let's just use X," without really understanding how X works, and I use Excel as the analogy. Most people know how to use an equation field. Most people don't consider writing a spreadsheet programming, but it is.
And just like other types of programs, you can have really insidious bugs, and you need to consider how you'll address those, or address changes in the underlying or internal components of the system.
A famous one is that floating point math in excel can give you different answers for "is this the same as that" depending on how you write the equation, for example.