If statement 对范围求和时返回空而不是零
我使用If statement 对范围求和时返回空而不是零,if-statement,google-sheets,sum,array-formulas,If Statement,Google Sheets,Sum,Array Formulas,我使用ARRAYFORMULA()对一个范围内的行进行求和 此范围内的行数将随时间而变化,这是由于链接到将增长的数据源。这在纸上很好,因为下面没有其他内容。然而,这意味着我不能限制数组的范围,导致它在底部求和空行 我遇到的复杂情况是,如果没有要求和的数据,公式将返回0,而不是一个错误或什么都没有。我希望它不返回任何内容/为空 以下是按行计算范围总和的公式: =数组公式(SUMIF(IF(列(K2:AN)、行(AN2:AN))、行(AN2:AN)、K2:AN)) 我返回空的典型方法是嵌套的IF()
ARRAYFORMULA()
对一个范围内的行进行求和
此范围内的行数将随时间而变化,这是由于链接到将增长的数据源。这在纸上很好,因为下面没有其他内容。然而,这意味着我不能限制数组的范围,导致它在底部求和空行
我遇到的复杂情况是,如果没有要求和的数据,公式将返回0,而不是一个错误或什么都没有。我希望它不返回任何内容/为空
以下是按行计算范围总和的公式:
=数组公式(SUMIF(IF(列(K2:AN)、行(AN2:AN))、行(AN2:AN)、K2:AN))
我返回空的典型方法是嵌套的IF()
语句,但这非常庞大。必须有比以下更好的方法:
=数组公式(IF(SUMIF)(IF(…)…)0,SUMIF(IF(…)…),“”)
我尝试了这些较轻的方法来返回空值,但没有运气:
=数组公式(IFERROR(SUMIF(IF(…)…),”)
=ARRAYFORMULA(SUMIF(IF)(ISNUMBER(…)))
写一条评论说,除非你想排除错误,否则没有简单的方法可以做到这一点。我找到了一个简单的方法来做到这一点,因为你想排除零,这让我们很容易犯错误
=ARRAYFORMULA(IFERROR(
1 / (1 / SUMIF(
IF(COLUMN(K2:AN), ROW(AN2:AN)),
ROW(AN2:AN),
K2:AN)),
""))
你能分享一个简单的样本表吗?我很困惑你为什么要使用列和行函数-我经常使用这种类型的数组公式,所以我相信如果我能更好地了解最终结果应该是什么,我可以为你提供一个解决方案