[257회 라이브 공지] 이번 주 라이브는 `3/4(수) 오후 8시` 에 진행합니다! 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

SUMIF 함수 구분열 없이 월별 합계 바로 구하는 방법 | SUMPRODUCT 고급

SUMIF 함수 월별 합계를 구분열 없이 바로 구하기 위한 SUMPRODUCT 공식의 동작원리와 실전 예제를 살펴봅니다.

# 함수및공식

작성자 :
오빠두엑셀
최종 수정일 : 2021. 12. 11. 00:48
URL 복사
메모 남기기 : (16)

SUMIF 함수 구분열 없이 월별 합계 계산

SUMIF 함수 구분열 없이 합계 계산 목차 바로가기
사용된 공식

SUMPRODUCT 함수를 사용한 공식

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

SUMIFS 함수를 사용한 공식

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

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

영상강의


예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [함수마스터] SUMIF 함수 고급사용법 (SUMPRODUCT 함수 응용)
    예제파일
  • [함수마스터] SUMIF 함수 고급사용법 (SUMPRODUCT 함수 응용)
    완성파일

이번 강의에서 다룰 내용 알아보기

  • 이번 강의에서는 SUMIF 함수로 월별합계 계산 시, 구분열을 추가하지 않고 한번에 계산하는 방법을 알아봅니다.
  • SUMPRODUCT 함수를 응용하여 SUMIF 함수와 COUNIF 함수를 효율적으로 대체하고 응용하는 방법을 알아봅니다.
  • 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 함수 사용
날짜범위에서 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 함수 수식 입력
    SUMPRODUCT 수식을 입력합니다.
  3. 자동채우기를 편하게 할 수 있도록 셀 참조방식을 변경합니다.
    월을 참조하는 셀은 F4키를 3번 눌러 알파벳앞에만 $ 기호를 추가합니다. 지점명을 참조하는 셀은 F4키를 2번 눌러 숫자 앞에만 $ 기호를 추가합니다.

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

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

  4. 수식을 자동채우기 하여 월별 합계 계산을 마무리합니다.

    SUMIF 구분열 없이 합계 계산 완료
    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개 함수 샘플이 열설명 보다 난데 늘 샘플이 없어. 함수 한 줄 만 있어도 보고 다 이해하는데..