2017-03-18 7 views
1

Google 스프레드 시트 질문.여러 기준으로 필터링 된 행을 합산하는 방법

Month Red Blue 
Jan/17 110 220 
Feb/17 1 2 

나의 현재 솔루션은 각에 배치하는 것입니다 : 내가 카테고리 별, 월별 합계를 계산하기 위해 필요

Date  Sum Category 
1/Jan/2017 100 red 
2/Jan/2017 200 blue 
3/Jan/2017 10 red 
4/Jan/2017 20 blue 
1/Feb/17 1 red 
2/Feb/17 2 blue 

:

나는 (이름이 "X")를 포함 비용 다음 시트를 가지고 결과 셀은 다음과 같습니다.

=SUM(IFERROR(FILTER(x!$B:$B, MONTH(x!$A:$A)=MONTH($A2), x!$C:$C="red"))) 

더 좋은 방법이 있는지 묻습니다. 각 셀에 내 수식을 배치하고 사용자 정의하는 대신 배열 (아마도 ArrayFormula ?!)을 처리하는 단일 결과 수식을 원합니다.

어떤 아이디어?! 감사! 난 단지 지금까지 숫자로 월을 얻을 수 있기 때문에

답변

0

음이 꽤있다 피벗 테이블을 사용하는 기본적인 생각하지만

query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'") 

enter image description here

편집

달 번호 배열 수식과 VLOOKUP을 사용하여 월 이름으로 변경할 수 있지만 수식이 약간 길어지고 있습니다 (월 번호와 이름의 표가 열 & J에 있음)

=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false)}) 

당신은 여전히 ​​다른 두 개의 열을 선택할 수있어 -이 모든 일

=arrayformula({vlookup(query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col1"),I:J,2,false),query(query(A:C,"select month(A)+1,sum(B) where C<>'' group by month(A) pivot C label month(A)+1 'Month Number'"),"select Col2,Col3")}) 

enter image description here

+0

예, 피벗 테이블입니다. 그러나 결과에 하나의 행만 표시하는 방법은 무엇입니까? 더 복잡한 보고서 안에 범주별로 결과를 배치하고 있습니다 ... – Cata

+0

한 번에 한 행을 선택하고 싶다면 2 월을 말하고 싶습니까? –

+0

아니요, 하나의 카테고리가 빨간색 인 것 같아요. 죄송합니다. – Cata