Excel嵌套如果数组

我正在做一个嵌套的分钟,如果数组,并有阅读空白问题。

=MIN(IF(Sheet1!$C:$C<=A24,IF(Sheet1!$AE:$AE>A24,Sheet1!$C:$C),IF(Sheet1!$C:$C<=A24,IF(Sheet1!$AE:$AE="",Sheet1!$C:$C)))) 

所以在英文中,我要问,如果第1页C列中的date小于或等于A24中的值,并且第1列AE中的date在A24中的date之后,或者第1列中的值AE是空白的,给我C列留下的最早的date。我希望这是有道理的!

任何帮助将不胜感激,因为我花了几个小时在这个尝试isblanks,进一步嵌套,如果没有喜悦。

如果您有Excel 2010,则此AGGREGATE()函数将工作:

 =AGGREGATE(15,6,(Sheet1!C:C/((Sheet1!C:C<=A24)*((Sheet1!AE:AE>A24)+(Sheet1!AE:AE="")))),1) 

如果你有2007年或更早的数组公式应该这样做:

 =MIN(IF(((Sheet1!C:C<=A24)*((Sheet1!AE:AE>A24)+(Sheet1!AE:AE=""))),Sheet1!C:C)) 

存在和数组必须使用Ctrl-Shift-Enter而不是Enter或Tab键input。

问题是当在数组中使用or ,应该使用+ 。 所以现在如果(Sheet1!AE:AE>A24)(Sheet1!AE:AE="")为真,它将返回1因为0 + 1 = 1。

其中and部分是因为0 * 1 = 0。所以这两个将需要是真实的返回1,或者是真的。

你必须使用嵌套的if?

为什么没有if语句评估所有三个条件。 用于检查两个条件的OR函数(检查列AE中的空白OR值大于A24),然后将OR函数的结果与第三个检查(列C小于或等于A24)一起送入AND函数, 。如果IF函数的整个逻辑检查返回TRUE,则使用MIN函数给C列中的最小值。同样,如果IF函数的逻辑检查结果为False,则执行其他操作(例如“No比赛”)

像这样的东西:

=(IF(AND(COL_C <= $ A $ 24,OR(COL_AE> $ A $ 24,ISBLANK(COL_AE))),MIN(COL_C,“No Match”))

Interesting Posts