在单格Excel数组公式中使用IF公式的结果

时间:2017-05-30 18:49:18

标签: excel excel-formula

我有一个列J,其中包含以下数组公式:

=IF(ISNUMBER($H$5:$H$263), $H$5:$H$263, $I$5:$I$263)

摘要行上的一个单元格引用该列的内容:

=SUMIF($J$5:$J$267,"<"&(TODAY()+365), $L$5:$L$263)

以上给出了我想要的结果,但我想将其合并为一个公式。

我试过以下内容:

=SUMIF(IF(ISNUMBER($H$5:$H$263), $H$5:$H$263, $I$5:$I$263),"<"&(TODAY()+365), $L$5:$L$263)

但它最终只是总结了IF

左侧的内容

所以下面的内容可以让我得到我想要的东西:

=SUMIF(IF(ISNUMBER($H$5:$H$263), $I$5:$I$263, $H$5:$H$263),"<"&(TODAY()+365), $L$5:$L$263) + SUMIF(IF(ISNUMBER($H$5:$H$263), $H$5:$H$263, $I$5:$I$263),"<"&(TODAY()+365), $L$5:$L$263)

但是我不确定第一个较短的公式我做错了什么。

1 个答案:

答案 0 :(得分:1)

使用此数组公式:

=SUM(IF(IF(ISNUMBER($H$5:$H$263),$H$5:$H$263,$I$5:$I$263)<TODAY()+365,$L$5:$L$263))

作为数组公式,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果操作正确,那么Excel会将{}放在公式周围。

您可以在不需要CSE的情况下使用SUMPRODUCT:

=SUMPRODUCT(((ISNUMBER($H$5:$H$263)*($H$5:$H$263)+(NOT(ISNUMBER($H$5:$H$263)) * ($I$5:$I$263)))<TODAY()+365)*$L$5:$L$263)

我还建议使用EDATE(TODAY(),12)代替TODAY()+365来处理闰年。