【问题标题】:Excel IF formula to validate another formulaExcel IF 公式验证另一个公式
【发布时间】:2015-02-06 14:05:13
【问题描述】:

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

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))

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

【问题讨论】:

  • 写一个宏把公式只放在空白单元格或当前值为零的单元格中?如您所见,任何基于公式的方法都会引发循环引用警告。
  • @acr:再一次,您遇到了几乎相同的问题!!每次都想找个工作一下!这根本不会完成!为了避免这一切,你需要做的是增加你的原始数据表,而不是每次更新时都删除它!您应该保留它并在每次更新时增加它!这是过去几周内所有线程的唯一解决方案。
  • 由于其他一些限制,实际上无法编辑原始数据表。我能够使用您在其他线程上提供的修改后的数组公式来完成我正在寻找的内容,但我面临的唯一问题是如果我有超过 100 个单元格要计算,系统利用率会很高并且每次系统崩溃。所以我正在尝试使用不同的方法来实现相同的功能。感谢您的所有帮助..

标签: vba excel if-statement excel-formula


【解决方案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)))

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多