求和范围时返回空而不是零

时间:2017-02-25 00:08:47

标签: if-statement google-sheets sum array-formulas

我使用ARRAYFORMULA()将行放在一个范围内。

此范围内的行数会随着时间的推移而变化,因为它会链接到将增长的数据源。这在表格上没问题,因为下面没有其他内容。但是,这意味着我不能限制数组的范围,导致它在底部对空行求和。

我遇到的复杂情况是,在没有数据要求求和的情况下,公式返回0而不是错误或什么也没有。我希望它不会返回/空。

以下是按行汇总范围的公式:

=ARRAYFORMULA(SUMIF(IF(COLUMN(K2:AN),ROW(AN2:AN)),ROW(AN2:AN),K2:AN))

我返回空的典型方法是嵌套IF()语句,但这非常笨重。必须有一个比以下更好的方法:

=ARRAYFORMULA(IF(SUMIF(IF(...)...)<>0,SUMIF(IF(...)...)),"")

我已经尝试过这些较轻的方法来返回空,而没有运气:

=ARRAYFORMULA(IFERROR(SUMIF(IF(...)...),""))

=ARRAYFORMULA(SUMIF(IF(ISNUMBER(...))...))

1 个答案:

答案 0 :(得分:0)

写一条评论说没有简单的方法来完成这项工作,除非你想排除错误我找到了一个简单的方法来完成这项工作,因为你想要排除零,这让我们很容易犯错。

=ARRAYFORMULA(IFERROR(
  1 / (1 / SUMIF(
    IF(COLUMN(K2:AN), ROW(AN2:AN)),
    ROW(AN2:AN),
    K2:AN)), 
  ""))