我尝试在 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 用于输入公式。
您不能在此类公式中使用
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 可能为空?
要添加到@barry houdini的答案,请使用+1来模拟OR。