2017-02-25 62 views
0

我使用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(...))...))

+0

ca you share a simple sample sheet?我很困惑你为什么使用列和行函数 - 我经常这样做这种类型的数组公式如果我能更好地了解最终结果应该是什么,我可以为你提供一个解决方案 –

回答

0

写评论说没有简单的方法来完成这件事,除非你想排除错误我找到了一个简单的方法来完成这件事,因为你想排除零,这使我们可以非常容易出错。

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