단일 조건으로 여러 행 합계

단일 조건으로 여러 행 합계

시트에 다음 테이블이 있다고 가정합니다.:

테이블 예시

그리고 시트의 다음 표__데이터:

표 2 예

시트 내__데이터주어진 카테고리 이름에 대해 P, R, T, V 및 X 열의 모든 값을 합산하고 싶습니다.

단일 행의 경우 다음 공식을 사용할 수 있다는 것을 알고 있습니다. (예: cat6)

=IF(
    SUMIF(month!$O$5:$O$34;__data!$A7;month!$P$5:$P$34)<>0;
    SUMIF(month!$O$5:$O$34;__data!$A7;month!$P$5:$P$34);
    "")

이제 나는 이것이 SUMPRODUCT. 그러나 이것이 어떻게 코딩되어야 하는지 머리를 감쌀 수는 없습니다.

이 SUMPRODUCT 수식이 있는데 이로 인해 #VALUE!오류가 발생합니다.

=SUMPRODUCT(
    --(month!$O$5:month!$O$34=__data!$A7);
    (
        month!$P$5:month!$P$34 +
        month!$R$5:month!$R$34 + 
        month!$T$5:month!$T$34 + 
        month!$V$5:month!$V$34 + 
        month!$X$5:month!$X$34)
)

나는 이것이 P, R, T, V 및 X의 값이 채워지는 방식과 관련이 있다고 생각합니다. 이는 다음 공식을 사용하여 수행됩니다.

=IF(SUMIF($B$5:$B$123;O8;$D$5:$D$123)<>0;SUMIF($B$5:$B$123;O8;$D$5:$D$123);"")

답변1

하나의 공식으로 쉽게 이 작업을 수행할 수 있습니다. 하지만 불연속적인 열을 반환하는 방법이 필요합니다.

  • catTbl참고하기 쉽도록 데이터 테이블의 이름을 지정했습니다 .
  • 다음 함수 를 사용하여 행을 찾으세요 MATCH.
    • =MATCH(A2,INDEX(catTbl,0,1),0)
      • 범주는 A2에 있고 INDEX함수는 첫 번째 열의 모든 행을 반환합니다.
    • INDEX` 함수를 구성합니다 N(IF(1,{2,4,6,8,10})) will return the relevant columns to the.
    • 그럼 그냥 SUM배열

따라서 전체 공식은 다음과 같습니다.

=SUM(INDEX(catTbl,MATCH(A2,INDEX(catTbl,0,1),0),N(IF(1,{2,4,6,8,10}))))

여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

답변2

일반적으로 비연속 Excel 수식으로 작업하는 것은 어렵습니다.

요약하려는 열을 나타내는 도우미 행을 추가한 다음 비교적 간단한 다음 공식을 사용할 수 있습니다.

=SUMIF($Q$4:$Y$4,1, INDEX($Q$6:$Y$19,MATCH(M6,$P$6:$P$19,0),0))

여기에 이미지 설명을 입력하세요

관련 정보