You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2020/05/20 12:22:00 UTC

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

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: dev@poi.apache.org
          Reporter: r3mbol@gmail.com
  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: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org