Thread: Complex if
View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
David Biddulph[_2_] David Biddulph[_2_] is offline
external usenet poster
 
Posts: 8,651
Default Complex if

A few points:
1 I have a feeling that AND doesn't work with arrays.
2 You are comparing column H with a very small number, 10 divided by 1
(sic) then divided by 2008.
3 You say that I and H are dates. If H is 11 Oct 08 it is bound to be
= 10 Oct 08. Perhaps you intended the 11/1/08 comparison to be < rather

than ?
4 You are trying to take the average of a range which includes column J
and the null text string "", but of course the AVERAGE function ignores text
strings, so there is no point in including it in the argument for AVERAGE.
I guess that you may have intended the penultimate parenthesis to be before
the preceding comma, so that the "" is not included in the AVERAGE but as
the alternative outcome of the IF, but I think you probably wanted the
AVERAGE to be the outer function and the IF to govern which rows of column J
were to be included in the average?
5 You are testing for columns I and H being "", but if H or I is a date,
it is a number, and a number will not be greater than the text string.
.... and there may be other points.

Guessing at what you might have wanted, perhaps:
=AVERAGE(IF(($I$2:$I$3536<"")*($H$2:$H$3536<"")* ($H$2:$H$3536=DATE(2008,10,1))*($H$2:$H$3536<DATE (2008,11,1)),$J$2:$J$3536,""))as an array formula--David BiddulphPAL wrote: This formula returns a "false" but should return a number: As an array.....=IF(AND($I$2:$I$3536"",$H$2:$H$3536" ",$H$2:$H$3536=10/1/2008,$H$2:$H$353611/1/2008),AVERAGE($J$2:$J$3536,"")) Columns I and H are dates. Thanks.