오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
엑셀 고급 강의

구분열없이 SUMIF 합계 구하기

오빠두엑셀 by 오빠두엑셀
  • 학습시간 16분
  • 난이도 중급
  • 작성일 2019.03.08

SUMPRODUCT 함수의 새로운 발견! - 구분열 없이 SUMIF 합계를 구하는 방법

엑셀에서 매장별 일자료를 월별 합계로 집계할 때, 보조 구분열을 만들지 않으면 SUMIF 함수만으로는 처리하기 까다롭습니다. 이번 강의에서는 SUMPRODUCT와 MONTH 함수를 결합해 월별 매출 합계를 한 번에 계산하는 공식의 동작 원리, 동적범위 설정 방법, 그리고 여러 매장을 동시에 집계하는 응용 공식까지 단계별로 살펴봅니다.

구분열없이 SUMIF 합계 구하기
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

공식 정리

SUMPRODUCT 함수를 사용한 공식

=SUMPRODUCT( --(MONTH(날짜범위)=날짜)*--(매장범위=매장)*합계범위 )
오빠두Tip : SUMPRODUCT 함수를 사용한 공식은 다양한 상황에 응용할 수 있다는 장점이 있지만, 데이터가 많을수록 처리 속도가 느려지는 단점이 있습니다.

SUMIFS 함수를 사용한 공식

=SUMIFS(합계범위,날짜범위,">="&DATE(YEAR(날짜),MONTH(날짜),1),날짜범위,"<="&EOMONTH(날짜,0))

SUMIFS 함수를 사용하면 대량의 데이터를 보다 빠르게 처리할 수 있습니다. SUMIFS 함수의 자세한 사용 방법은 아래 영상 강의에서 단계별로 설명해 드렸습니다.

이번 강의에서 다룰 내용

  • 이번 강의에서는 SUMIF 함수로 월별 합계를 계산할 때 구분열을 추가하지 않고 한 번에 결과를 구하는 방법을 알아봅니다.
  • SUMPRODUCT 함수를 응용하여 SUMIF 함수와 COUNTIF 함수를 효율적으로 대체하고 활용하는 방법을 함께 살펴봅니다.
  • SUMIF 함수는 인수로 '범위'를 받지만, SUMPRODUCT 함수는 인수로 '배열'을 받습니다. 따라서 SUMPRODUCT 함수는 인수에 LEN, MONTH 등 다른 함수를 중첩해 사용할 수 있다는 큰 장점이 있습니다.
  • 다만 조건식 작성에 익숙하지 않은 경우 기존 SUMIF 함수에 비해 수식 구조가 다소 복잡하게 느껴질 수 있으므로, 충분한 연습을 통해 익혀 두시는 것이 좋습니다.

SUMIF 함수 구분열 없이 합계를 구하는 공식 알아보기

1. 동적범위 설정

보다 효율적으로 수식을 작성하기 위해 동적범위를 먼저 설정합니다. 동적범위에 대한 자세한 설명은 아래 관련 강의를 참고해 주세요. (동적범위를 설정하지 않고 각 범위를 수식에 직접 입력해도 결과는 동일합니다.)

이름 참조대상
날짜범위 =OFFSET(완성시트!$A$2,,,COUNTA(완성시트!$A:$A)-1)
매장범위 =OFFSET(완성시트!$B$2,,,COUNTA(완성시트!$B:$B)-1)
합계범위 =OFFSET(완성시트!$C$2,,,COUNTA(완성시트!$C:$C)-1)
2. MONTH 함수로 각 날짜의 '월'을 배열로 반환

각 날짜가 MONTH 함수를 통해 반환되는 배열은 다음과 같습니다.

= MONTH ( {1월 24일, 1월 30일, 2월 3일, 3월 1일, 3월 3일, 4월 5일, 6월 2일} )
= {1, 1, 2, 3, 3, 4, 6}

엑셀 MONTH 함수 사용

3. 논리값의 계산

"--" 기호는 논리값인 참(TRUE) 또는 거짓(FALSE)을 숫자로 강제 변환하는 연산자입니다. 엑셀은 기본적으로 참을 1로, 거짓을 0으로 계산하지만, 상황에 따라 숫자로 변환되지 않아 잘못된 결과가 출력될 수 있으므로 논리값 계산 앞에는 항상 '--' 기호를 붙이는 습관을 들이는 것이 좋습니다. "--" 기호에 대한 보다 자세한 설명은 아래 링크를 참고해 주세요.


날짜범위에서 '3월'에 해당하는 값을 계산하는 상황을 가정해 보겠습니다.

= SUMPRODUCT (--( MONTH(날짜범위)=3 ))
= SUMPRODUCT (--( {1, 1, 2, 3, 3, 4, 6} = 3 ))
= SUMPRODUCT (--( {False, False, False, True, True, False, False} ))
= SUMPRODUCT ({0, 0, 0, 1, 1, 0, 0})
= 2
4. 월 구분열 없이 월별 합계 계산
  1. 예제파일을 실행한 뒤, 아래 그림과 같이 월별 매출 현황을 출력하기 위한 표를 시트의 빈 영역에 작성합니다.sumif 합계 구분열 없이 구하기 위한 범위
  2. SUMPRODUCT 함수를 응용한 다음 수식을 표의 첫 번째 셀에 입력합니다.
    =SUMPRODUCT(--(MONTH(날짜범위)=H20)*--(매장범위=I19)*매출액범위)

    SUMPRODUCT 함수 수식 입력

  3. 자동 채우기를 편리하게 사용할 수 있도록 셀 참조 방식을 변경합니다.
    월을 참조하는 셀은 F4 키를 3번 눌러 알파벳 앞에만 $ 기호를 추가하고, 지점명을 참조하는 셀은 F4 키를 2번 눌러 숫자 앞에만 $ 기호를 추가합니다.

    =SUMPRODUCT(--(MONTH(날짜범위)=$H20)*--(매장범위=I$19)*매출액범위)

    엑셀의 셀 참조 방식에 대한 자세한 설명은 아래 영상 강의를 참고해 주세요.

  4. 수식을 자동 채우기로 확장해 월별 합계 계산을 마무리합니다.SUMIF 구분열 없이 합계 계산 완료
5. 여러 개 매장의 월별 매출 합계 계산

여러 개 매장의 월별 매출 합계를 한 번에 구해야 할 경우, 아래와 같이 각 조건을 '덧셈'으로 결합해 간단히 해결할 수 있습니다. 다음 상황을 가정해 보겠습니다.

A, B, C, D 배열 중 A와 C가 있는 위치의 값만 출력하고 싶을 경우

■ 배열 = {A, C, B, C, A, D, D, A, C, D, B}
= (배열="A") + (배열="C")
= {1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0} + {0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}
= {1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0}

따라서 "강남점"과 "동대문점"의 1월 매출 합계를 구하려면 다음과 같이 수식을 작성합니다.

=SUMPRODUCT(--(MONTH(날짜범위)=1)*--((매장범위="강남점")+(매장범위="동대문점"))*매출액범위)
댓글 16
4.9 (12개 평가)
ucc
ucc 2020.02.23 08:55
thanks!
Iren
Iren 2020.03.20 00:30
굿
엑린이
엑린이 2020.05.24 17:08
감사합니다
07년회사원
07년회사원 2020.06.27 23:09
감사합니다~ 많이 배웁니다.
제가 그동안 작성한 엑셀파일이 부끄러워집니다ㅎ
뜬금없이
뜬금없이 2020.07.01 17:56
감사합니다.
nakyu
nakyu 2020.09.02 15:20
정말 유용한 강의네요! 예제파일까지 첨부해주시다니 감사합니다
Zelkova
Zelkova 2020.12.23 22:39
여러 조건의 합을 구하는 함수 SUMPRODUCT로 처리 하니 계산속도가~느림
ㅠ.ㅠ
오빠두엑셀
오빠두엑셀 작성자 2020.12.24 06:27
안녕하세요 :)
맞습니다. SUMPRODUCT 함수는 배열을 받아오기 때문에 많은 범위에 적용하면 처리속도가 많이 느려집니다 ㅜㅜ
그럴 경우 아래 SUMIF 월별 합계 구하기 공식을 사용해보세요.
https://www.oppadu.com/sumif-%ed%95%a8%ec%88%98-%ec%9b%94%eb%b3%84-%ed%95%a9%ea%b3%84-%ea%b5%ac%ed%95%98%ea%b8%b0/
Zelkova
Zelkova 2020.12.28 19:57
감사합니다
함수 하나하나 이해 해보니 해결이 되었네요~
끝내 해결 했습니다~머리숙여 감사 드립니다~*^^*
루나가제토
루나가제토 2021.07.29 20:53
혹시 분기별 합계는 어떻게 구하면 될까요?
오빠두엑셀
오빠두엑셀 작성자 2021.07.31 18:03
안녕하세요.
분기별 합계는 피벗테이블을 사용하시는 것이 편리합니다.
또는 MONTH 함수로,
IF(AND(MONTH(셀)>=1,MOTNH(셀)<=3,"1분기"..)
형태로 분기를 미리 나누신 뒤 SUMIF 함수로 분기별 합계를 계산해보세요.
한시적삶
한시적삶 2022.01.05 20:29
감사합니다^^
흠냐아
흠냐아 2022.02.25 13:09
이런거 볼 때 마다 느끼지만,
1개 함수 샘플이 열설명 보다 난데
늘 샘플이 없어. 함수 한 줄 만 있어도 보고 다 이해하는데..