ARRAY 公式 EXCEL 中的多个条件 IF 语句

问题描述 投票:0回答:2

我尝试在 Excel 中创建具有多个条件的数组公式,但它不起作用(结果为 0)。如果我删除 AND 并一次评估一个条件,则该公式有效,但我需要 excel 来评估所有三个条件,并仅在满足所有三个条件时对值求和。任何提示表示赞赏。谢谢!

作品:

=SUM(IF($I$2:$I$9999<>"",$U$2:$U$9999))

=SUM(IF(YEAR($I$2:$I$9999)=YEAR(AD2),$U$2:$U$9999))

=SUM($M$2:$M$9999="",$U$2:$U$9999))

不起作用:

=SUM(IF(AND($I$2:$I$9999<>"",YEAR($I$2:$I$9999)=YEAR(AD2),$M$2:$M$9999=""),$U$2:$U$9999))

Ctrl+Shift+Enter 用于输入公式。

arrays excel if-statement
2个回答
4
投票

您不能在此类公式中使用

AND
函数,因为它返回单个结果,而不是数组 - 尝试使用 * 来模拟
AND
,即

=SUM(IF(($I$2:$I$9999<>"")*(YEAR($I$2:$I$9999)=YEAR(AD2))*($M$2:$M$9999=""),$U$2:$U$9999))

使用 CTRL+SHIFT+ENTER

确认

....或带有

SUMPRODUCT

的“非数组”版本

=SUMPRODUCT(($I$2:$I$9999<>"")*(YEAR($I$2:$I$9999)=YEAR(AD2))*($M$2:$M$9999=""),$U$2:$U$9999)

.....或者可能

SUMIFS

=SUMIFS($U:$U,$I:$I,">="&DATE(YEAR(AD2),1,1),$I:$I,"<"&DATE(YEAR(AD2)+1,1,1),$M:$M,"")

编辑:如果您还检查该列的年份,您可能不需要检查该列 I 是否为非空白 - 它无论如何都无法匹配年份,除非 AD2 可能为空?


0
投票

要添加到@barry houdini的答案,请使用+1来模拟OR。

© www.soinside.com 2019 - 2024. All rights reserved.