Excel 在 SumIfs 中嵌套 IF

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

好的。所以我希望将

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

excel nested
4个回答
0
投票

尝试这个公式:

=SUMIFS(BK1:BK6,BK1:BK6,">=0")

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!

尝试发布一些虚拟数据库
(使用文本表格格式)

为您提供更好的帮助...并记住阅读此内容:如何提问因为您的问题很模糊,并且需要很多评论和答案“猜猜”你真正想要什么。


0
投票

=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4),0)+IF(BE4=TRUE,SUMIFS(R:R,J:J,BD5))

这是一个数组公式,必须使用Ctrl-Shift-Enter确认。

这是基于您提供的数据表。您将需要更改对工作表的引用。 T 列引用应该是空列。


0
投票

希望这不会太令人困惑,但它对我有用,而且我没有轻易找到其他任何东西来展示如何在 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))

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