2017-02-25 43 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)), 
    ""))