Apache OpenOffice (AOO) Bugzilla – Issue 101995
Array Formula; Max/Min Conditional Calculation Error
Last modified: 2013-01-29 21:40:35 UTC
Documentation/How Tos/Using Arrays, p. 5 under Tips and Tricks ("Maximum in a particular month") Following described formula provides correct result: Max(If(Month(B1:B9)=5;C1:C9;0)). Documentation says that the Min() function would provide the minimum value for the month. However, following formula does not produce meaningful result: Min(If(Month(B1:B9)=5;C1:C9;0)) Small() and Large() functions will work in this instance.
Created attachment 62316 [details] Arrays - Max/Min Conditional Calculation Error
In MIN you use IF(MONTH(B$10:B$19)=5;C$10:C$19;0) which sets the result to 0, if MONTH() unequal 5. Therefore the minimum is 0. In SMALL you use IF(MONTH($B$10:$B$19)=5;C$10:C$19) which is a form with only two parameters. It sets the result to the default FALSE, if MONTH() unequal 5. Therefore the smallest is 28. =MIN(IF(MONTH($B$10:$B$19)=5;C$10:C$19)) will work as =SMALL(IF(MONTH($B$10:$B$19)=5;C$10:C$19);1) But the question is, why FALSE is not evaluated as 0 in array context. I set this issue to new, so that Eike can look, whether this is conform to ODF spec.