Excel IF公式验证另一个公式

时间:2014-12-08 20:14:44

标签: excel vba excel-vba if-statement excel-formula

我想在所有单元格上运行以下公式,其中当前值为零。

C3

上的公式
=SUMIFS(raw!$D:$D,raw!$A:$A,$A3,raw!$C:$C,C$2)

我试图把它放在另一个IF语句中以首先验证单元格值,如果匹配条件执行上面的公式

=IF(C3=0,SUMIFS(raw!$D:$D,raw!$A:$A,$A3,raw!$C:$C,C$2))

但在这里我得到循环参考警告,因为第二个公式取决于相同的单元格值。还有其他办法吗?表示如果特定单元格上的值等于零,则运行公式

2 个答案:

答案 0 :(得分:1)

如果不创建循环引用,则无法引用您正在使用的单元格。我通常只是添加一个中间列来避免这种情况。如果您出于某种原因想要将它们全部放在一个单元格中:

=IF(SUMIFS(raw!$D:$D,raw!$A:$A,$A3,raw!$C:$C,C$2)) = 0, "Sums are zero", SUMIFS(raw!$D:$D,raw!$A:$A,$A3,raw!$C:$C,C$2)))

它可能需要两倍的计算时间,很难看,如果你编辑它们,你必须保持两个公式相同,但它确实适合一个单元格。

答案 1 :(得分:0)

这是一张工作表还是多张?我认为以下内容可行,但如果没有工作簿,就无法知道。

= SUMPRODUCT((C3 = 0)*(原始!$ A:$ A = A3)*(原始!$ C:$ C = C2)*(原始!$ D:$ D))