https://bugs.documentfoundation.org/show_bug.cgi?id=146377

            Bug ID: 146377
           Summary: Error doesn't propagate as first parameter in IF when
                    "IfFalse" contains ISERROR or IFERROR
           Product: LibreOffice
           Version: 7.2.4.1 release
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: pdenhollan...@info-care.nl

Description:
Consider these 2 formulas:
=IF(NA();1;2)
=IF(NA();1;IFERROR(NA();2))
The NA() propagates in the first formula as expected, and the result it #N/A.
In the second formula, the NA() somehow doesn't propagate. It evalutes the
"IfFalse" parameter, and gives that as result. The second formula evaluates to
2. Even if the error in the "IfFalse" parameter is unrelated, it will still not
propagate the condition error, e.g.:
=IF(NA();1;2+IFERROR(#DIV/0!;2))
This evaluates to 4.

>From what I've read in the OpenDocument recalculated formula specification,
errors as function parameters should propagate unless noted otherwise, and in
this case I don't think it's noted otherwise.

At first I tried asking about it on the "ask libreoffice" website, but it seems
like a bug, so posting it here seems more appropriate.

Steps to Reproduce:
1. Have an error value in the first parameter of an IF, and use IFERROR or
ISERROR  in the 3rd parameter of the IF, e.g.: =IF(NA();1;IFERROR(NA();2))

Actual Results:
The "IfFalse" parameter is evaluted.

Expected Results:
The error value propagates.


Reproducible: Always


User Profile Reset: Yes



Additional Info:
Version: 7.2.4.1 / LibreOffice Community
Build ID: 20(Build:1)
CPU threads: 16; OS: Linux 5.14; UI render: default; VCL: kf5 (cairo+xcb)
Locale: nl-NL (en_US.UTF-8); UI: en-US
7.2.4-1
Calc: threaded

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to