[Bug 64459] New: Wrong IF behavior in array formulas

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Bug 64459] New: Wrong IF behavior in array formulas

Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=64459

            Bug ID: 64459
           Summary: Wrong IF behavior in array formulas
           Product: POI
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: minor
          Priority: P2
         Component: SS Common
          Assignee: [hidden email]
          Reporter: [hidden email]
  Target Milestone: ---

I have a simple formula: 'IF(FALSE(),#VALUE!,1)'

Naturally, this formula should always return 1, but when I put it as array
formula, it returns '#VALUE!'.

This is due to this part:
https://github.com/apache/poi/blob/REL_4_1_2/src/java/org/apache/poi/ss/formula/functions/IfFunc.java#L185

This piece of code is invoked only in array context and it specifies that if
second argument (value returned if condition is true) is of type ErrorEval, it
is returned regardless of the condition result.

I believe this is wrong and error should be returned only if condition
evaluates to true - but this is based only on this simple example. Are there
some other use cases that make this piece of code actually viable?

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]