好的。所以我希望将
IF
嵌套在我的 SUMIFS
公式中。我遇到的唯一问题是当我引用的单元格之一显示 FALSE
时,公式不再有效。我如何获得公式以从 SUMIFS
公式中完全删除该条件并且仍然有效?
我用过的代码。
=SUMIFS(R:R,IF(BE4=TRUE,I:I),IF(BE4=TRUE,BD4),J:J,BD5)
=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4),0)+IF(BE5=TRUE,SUMIFS(R:R,J:J,BD5),0)
我什至尝试将
SUMIFS
公式分解为多个单元格,并使用 IF
和 INDIRECT
创建工作代码。只是不断弹出 #REF
错误。
这是代码
=INDIRECT(CONCATENATE(BK1,IF(BE2=TRUE,BK2,""),IF(BE3=TRUE,BK3,""),IF(BE4=TRUE,BK4,""),IF(BE5=TRUE,BK5,""),BK6))
这是在 IF 之前不起作用的代码。
=INDIRECT(CONCATENATE(BK1,BK2,BK3,BK4,BK5,BK6))
任何帮助将不胜感激。 谢谢你
模拟表 https://www.dropbox.com/s/tl64vbsalcqxqdm/CriteriaIFS.xlsx?dl=0
尝试这个公式:
=SUMIFS(BK1:BK6,BK1:BK6,">=0")
请尝试这个公式,
=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4,J:J,BD5),SUMIFS(R:R,J:J,BD5))
你的公式
=SUMIFS(R:R,IF(BE4=TRUE,I:I),IF(BE4=TRUE,BD4),J:J,BD5)
你是说: 如果
column R
中与 J
匹配,并且 BD5
中 IF BE4 is TRUE
THEN
与 I
匹配,则对 IF
中的所有内容求和。嗯,错误是因为,如果 BD5
为 true,则返回字符串而不是范围。相反,你可以使用这个:BE4
一切都会好起来的,直到
=SUMIFS(R:R,INDIRECT(IF(BE4=TRUE,I:I)),INDIRECT(IF(BE4=TRUE,BD4)),J:J,BD5)
变成
BE4
。因为 FALSE
函数返回 INDIRECT
...并且会变得一团糟。我不确定我是否理解了整个想法,但请告诉我您是否需要改进。 编辑#1
阅读您的评论,我认为这可能会有所帮助:
#REF!
尝试发布一些虚拟数据库(使用文本表格格式)
为您提供更好的帮助...并记住阅读此内容:如何提问因为您的问题很模糊,并且需要很多评论和答案“猜猜”你真正想要什么。
希望这不会太令人困惑,但它对我有用,而且我没有轻易找到其他任何东西来展示如何在 SUMIFS 的条件范围中使用 IF 语句。 (我建议忽略定义 sum_range 的非常丑陋的 xlookup。)
SUMIFS(XLOOKUP($AF$20&"COGS CM MTD",Fact_Sales!$E$6:$CS$6&Fact_Sales!$E$7:$CS$7,Fact_Sales!$E$8:$CS$928),Fact_Sales!$B$8 :$B$928,'报告草稿'!$AE27,
IF('报告草稿'!$AD27<>"CEILINGS",Fact_Sales!$C$8:$C$928,Fact_Sales!$A$8:$A$928 ),IF('报告草稿'!$AD27<>"CEILINGS",'报告草稿'!$AD27,'报告草稿'!$AF27))