簡體   English   中英

在單單元格Excel數組公式中使用IF公式的結果

[英]Use result of IF formula in single cell Excel array 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)

但是我不確定第一個較短的公式出了什么問題。

使用此數組公式:

=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會將{}放在公式周圍。

您可以使用SUMPRODUCT,而無需CSE:

=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來處理leap年。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM