https://bugs.documentfoundation.org/show_bug.cgi?id=146377
--- Comment #3 from Paul den Hollander <[email protected]> --- I am trying to achieve full compatibility compatibility between my own tool that evaluates formulas and LibreOffice Calc, so I'm trying to understand what happens. So after looking at the LibreOffice Calc source code, this is how I think it behaves: Example: =IF(NA();"a";ISERROR(NA())) ScInterpreter::ScIfJump looks at the condition, which sets ScInterpreter::nGlobalError to the error, but continues execution with a 0 value in place of the error. Execution of ScInterpreter::ScIsError then resets ScInterpreter::nGlobalError to FormulaError::NONE. After the formula has been evaluated, ScInterpreter::GetCellValue checks ScInterpreter::nGlobalError, which would normally be set to the error, but now has already been reset, so it just uses the execution result. Is this correct? -- You are receiving this mail because: You are the assignee for the bug.
