![단일 조건으로 여러 행 합계](https://rvso.com/image/1606683/%EB%8B%A8%EC%9D%BC%20%EC%A1%B0%EA%B1%B4%EC%9C%BC%EB%A1%9C%20%EC%97%AC%EB%9F%AC%20%ED%96%89%20%ED%95%A9%EA%B3%84.png)
시트에 다음 테이블이 있다고 가정합니다.월:
그리고 시트의 다음 표__데이터:
시트 내__데이터주어진 카테고리 이름에 대해 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
함수는 첫 번째 열의 모든 행을 반환합니다.
- 범주는 A2에 있고
- 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}))))