【问题标题】:Excel formula - sum 0 only if values sum up to 0, otherwise blank?Excel公式-仅当值总和为0时才求和0,否则为空白?
【发布时间】:2015-04-14 15:32:56
【问题描述】:

我已经搜索了所有内容,但找不到任何与我相似的示例。我正在使用类似 Excel 的 JavaScript 控件(与 Excel 公式兼容),并且我需要能够编写一个公式来区分为空的总和(有效用例)和实际总和为 0 .

例如,您可以看到下面突出显示的行是总和行。通过使用 JavaScript,我能够检查总和是否为 null 或实际为 0,并适当地分配值。

但是,我无法在类似 Excel 的 JavaScript 控件中复制此行为,因为我们使用公式,并且所有公式都必须计算为一个值,而不是 null。当值为空时,总和等于 0:

JavaScript 代码中充斥着如下公式,它将总和行设置为范围的总和:

sheet.getCell(i, 3).formula("=(D4+D5+D6+D7+D8+D9)");

如何修改这个公式,只在总和为 0 时返回 0,否则返回空字符串?

【问题讨论】:

  • 您是否尝试过使用ISBLANK?例如。 =IF(AND(ISBLANK(D4),ISBLANK(D5),ISBLANK(D6),ISBLANK(D7),ISBLANK(D8),ISBLANK(D9)),"",SUM(D4:D9))

标签: excel excel-formula


【解决方案1】:

如果D4:D9 的至少一个单元格中有数字,则返回总和:

=IF(COUNT(D4:D9),SUM(D4:D9),"")

如果所有单元格中有一个数字D4:D9,则返回总和:

=IF(COUNT(D4:D9)=ROWS(D4:D9),SUM(D4:D9),"")

【讨论】:

  • 虽然我很欣赏其他答案,并且他们实现了我一直在寻找的目标,但在我看来,这里的第一个答案(如果至少一个单元格中存在一个数字)是最优雅的。谢谢大家。
【解决方案2】:

你可以试试这个,假设你想要第一行的总和,并且你的数据从C列开始,所以你把这个公式放在@987654321 @:

=IF(LEN(C2:C99)=0,"",SUM(C2:C99))


这是一个数组公式,所以按ctrl+shift+enter来计算公式。然后向右拖动复制,计算其他列。



【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多