본문 바로가기
IT

엑셀 SUMIFS 함수 고급편

by 원모어 2017. 3. 4.

지난 포스트에서는 엑셀 계산식에서 사용할 수 있는 SUMIFS 함수의 기본 구문 및 사용법에 대해서 살펴봤습니다. 이번에는 기본편을 기반으로 하는 응용 구문에 대해서 알아보도록 하겠습니다. 기본편을 아직 못보셨다면 아래 포스트를 참고하시길 바랍니다.
2017/03/03 - 엑셀 SUMIFS 함수 기본편

SUMIFS 조건에 값이 아닌 범위 지정하기

아래의 기본 구문을 다시 한 번 살펴보면 기본편에서는 criteria1, criteria2, ... 부분에 특정 값 1개만 지정해서 해당 값과 동일 여부만 조건으로 설정했습니다. 하지만 이 조건 부분은 특정 값이 아닌 범위를 지정할 수도 있습니다.

SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

자세한 설명을 위해서 샘플 데이터에 아래와 같이 '단가' 컬럼을 추가했습니다.

이제 상품이 '양파'이고, 판매원이 '강사단'이면서, 단가가 '100 이상'인 품목들의 판매량 합계를 구해보겠습니다. 다른 부분은 어려울 게 없으나 '단가가 100 이상'인 품목에 대한 조건은 어떻게 설정하면 될까요? 바로 '>=100'입니다. 이를 구문으로 작성해보면 아래와 같습니다.

SUMIFS(D5:D9, A2:A9, "양파", B2:B9, "강사단", C5:C9, ">=100")

SUMIFS 조건에 복수 값 설정하기

그렇다면 양파와 당근의 판매량을 합하려면 어떻게 해야 할까요? 가장 단순한 것은 양파 합계를 구하는 SUMIFS 계산식과 당근 합계를 구하는 SUMIFS 계산식을 2개 만들어서 '+' 해주는 것이겠죠. 하지만 왠지 스마트하지 않죠? 배열을 이용하면 계산식이 더욱 간단해집니다. 배열이라는 개념부터 설명하면 복잡해지니 정답부터 알려드리고 설명드리겠습니다.

SUM( SUMIFS(D5:D9, A2:A9, {"양파", "당근"}, B2:B9, "강사단", C5:C9, ">=100") )

우선 {"양파", "당근"} 부분에서 중괄호('{}')는 엑셀에서 배열(Array)을 의미합니다. 중괄호 안에 있는 모든 값들이 차례대로 수식에 들어와서 계산되는 것으로 생각하시면 됩니다. 여기에서는 양파와 당근 2개의 값이 들어 있으니 계산식이 2번 도는 것으로 보시면 되구요. 그리고 계산식이 2번 도니까 각각의 결과를 더해줘야 하니 전체 구문을 SUM 함수로 묶어줬습니다.

만약 SUM 함수로 SUMIFS 구문을 감싸주지 않으면 SUMIFS는 첫번째 값("양파")에 의한 결과만 반환하니 꼭 SUM 함수로 감싸주셔야 합니다.

댓글