2017-02-25 3 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 간단한 샘플 시트를 공유하십니까? 나는 왜 당신이 열과 행 함수를 사용하는지 혼란 스럽다. 비록 배열 결과 공식을 자주 사용한다. 최종 결과가 무엇인지에 대해 더 잘 이해할 수 있다면 분명히 해결책을 제시 할 수있다. –

답변

0

를 작성하는 더 나은 방법보다는이 있어야한다 당신이 오류를 제외하고 싶지 않다면 이것을 해내는 쉬운 방법이 없다는 의견을 말하십시오. 당신이 0을 제외하기를 원하기 때문에 이것을 할 수있는 쉬운 방법을 발견했습니다. 아주 쉽게 오류.

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