엑셀 함수 > 수학 및 삼각 함수 > SUMIF 함수 - 조건을 만족하는 범위의 합계 구하기

SUMIF 함수 - 조건을 만족하는 범위의 합계 구하기

SUMIF 함수는 SUM 함수IF 함수가 합쳐진 형태입니다.

"만약(IF) 어떤 조건을 만족하면 SUM하라"는 의미입니다.

이 함수는 자료에서 특정 조건을 만족하는 범위의 숫자 합계를 구해야 할 때 많이 사용됩니다.

 

구문(Syntax)

SUMIF

SUMIF(range, criteria, [sum_range])

SUMIF(조건범위, 조건, [합계범위])

조건(criteria)에 맞는 범위의 숫자의 합계를 구해준다.

인수 :

  • range : 조건을 적용할 셀 범위
  • criteria : 합계를 구할 조건
  • sum_range : 합계를 구할 범위(생략 가능)

 

사용 예

1) 판매실적에서 거래처별 합계구하기

아래 그림의 자료에서 거래처가 '신촌 아트박스'인 곳의 판매금액 합계를 구하려면 [E14] 셀에 다음 수식을 입력합니다.

=SUMIF(C4:C11,"신촌 아트박스",E4:E11)

엑셀 SUMIF 함수로 거래처 판매금액 합계 구하기

 

수식 풀이:

SUMIF 함수는 아래 그림과 같이

  • 거래처명이 입력된 조건 범위 [C4:C11]의 값이 '신촌 아트박스'이면
  • 판매금액이 입력된 합계 범위 [E4:E11] 에서 같은 행의 판매금액만 더해서 710,000원을 구해줍니다.

엑셀 SUMIF 함수로 거래처 판매금액 합계 구하기

 

2) 두 번째 인수(값을 더할 조건)를 셀 참조로 입력하기

위의 예에서는 두 번째 인수를 아래와 같이 직접 입력했는데 하나하나 입력해 주어야 하는 불편함이 있습니다.
=SUMIF(C4:C11,"신촌 아트박스",E4:E11)

다음과 같이 두 번째 인수를 셀 참조로 입력하면 편리합니다.
=SUMIF($C$4:$C$11,D18,$E$4:$E$11)

'신촌 아트박스'를 [D18]셀에 입력하고 수식에서는 [D18]셀을 참조하도록 합니다. 이렇게 하면 D열에 있는 거래처의 이름만 바꾸면, 바꾼이름으로 SUMIF 함수가 작동합니다.

엑셀 SUMIF 함수 사용시 조건을 셀 참조로 입력하기

 

3) 특정 텍스트가 포함된 거래처 실적 구하기

이번에는 전체 거래처에서 특정 텍스트가 포함된 거래처만 골라내서 판매실적을 더해보겠습니다.

[E22] 셀에 다음 수식을 입력합니다.

=SUMIF(C4:C11,"*아트박스",E4:E11)

두 번째 인수 '*아트박스'에서 '*'은 여러 텍스트를 뜻하는 와일드카드이므로,

거래처명이 아무 텍스트로 시작하고 '아트박스'로 끝나는 곳을 찾으라는 뜻입니다.

따라서 이 수식은 아래 그램과 같이 거래처가

  • 신촌 아트박스
  • 서초 아트박스

인 곳의 판매금액을 더해서 832,000원을 구해줍니다.

엑셀 SUMIF 함수로 특정 문자열을 포함한 조건으로 합계구하기

 

4) 판매금액을 조건으로 합계 구하기

이번에는 판매금액을 조건으로 해서 합계를 구해보겠습니다.

전체 판매실적에서 6만원 이상인 것의 판매금액 합계를 구하려면 다음 수식을 입력합니다.

=SUMIF(E4:E11,">=60000",E4:E11)

  • 두번째 인수 '>=60000'에서 '>='는 크거나 같다는 뜻이므로
  • 판매실적에서 6만원 이상인 것만 구해서 합계 1,840,000원을 구해줍니다.

엑셀 SUMIF 함수로 금액조건으로 합계 구하기

 

위의 경우와 비슷하지만 이번에는 5만원 미만인 판매실적의 합계를 구해보겠습니다.

=SUMIF(E4:E11,"<50000",E4:E11)

  • 두번째 인수 '<50000'에서 '<'는 작다는 뜻이므로
  • 판매실적에서 5만원보다 작은 것만 구해서 합계 42,000원을 구해줍니다.

 

※ 참고 : 위 수식에서 >=, < 등 비교 연산자가 사용되었는데 다음과 같이 다양한 방법으로 조건을 설정할 수 있습니다.

  • =100 : 100인
  • <>100 : 100이 아닌
  • >100 : 100보다 큰
  • >=100 100보다 크거나 같은(100이상인)
  • <100 : 100보다 작은(100미만인)
  • <=100 : 100보다 작거나 같은
  • <>신촌 아트박스 : '신촌 아트박스'가 아닌

 


관련 글

SUMIFS 함수로 월별합계 구하기 SUMIFS 함수로 월별 합계 구하기 - 엑셀에서 SUMIFS 함수를 이용하면 여러 개의 조건을 만족하는 합계를 구할 수 있는데, 오늘은 약간 응용하여 조건을 만족하는 월별 합계를 구하는…

SUMIFS 함수로 월별 합계 구하기 더 보기 »

DSUM 함수 사용법 DSUM 함수 - 데이터베이스에서 조건에 맞는 항목의 합계 구하기 - 엑셀의 데이터베이스(Database)함수는 다양한 조건에 맞는 합계를 구한다던지, 평균, 갯수 등을 쉽게 구할 수 있는 함수이다. 모든 함수는 알파벳 “D”로 시작하며…

DSUM 함수 - 데이터베이스에서 조건에 맞는 항목의 합계 구하기 더 보기 »

SUMIFS 함수 사용법 SUMIFS 함수 - 여러 조건을 만족하는 범위의 합계 구하기 - 엑셀에서 SUMIF 함수를 사용하면 한번에 하나의 조건을 만족하는 범위의 합계를 구할 수 있지만 SUMIFS 함수를 사용하면 여러 개의 조건을 만족하는…

SUMIFS 함수 - 여러 조건을 만족하는 범위의 합계 구하기 더 보기 »

 

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

엑셀웍스 책 출간안내  자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

“SUMIF 함수 - 조건을 만족하는 범위의 합계 구하기”의 45개의 댓글

  1. C열의 아트박스를 아트박스1 이나 아트박스- 를 넣으면 못찾는데 해결방법 있을까요?
    그런데 신기한건 1아트박스 나 -아트박스는 찾네요

    1. 안녕하세요. =SUMIF(C4:C11,"*아트박스",E4:E11) 이 수식을 사용하신거 같은데요. "아트박스" 앞에 별표시(*)가 있으면 아무값으로 시작하되 아트박스로 끝나는 값을 찾으라는 의미입니다.
      "아트박스1"이나 "아트박스-"를 찾으시려면 "아트박스*"로 하시면 되고 "아트박스"가 들어가면 무조건 다 찾으려면 다음 예처럼 앞뒤로 별표시를 붙이면 됩니다.
      "*아트박스*"
      감사합니다.

  2. 밸리밀크

    아트박스가 아닌 것을 찾으려면 어떻게 해야하나요?
    "!= 아트박스"
    "not 아트박스"
    이런게 되나요?

    1. 안녕하세요.
      아트박스가 아닌 것을 찾을 때는 "<>아트박스" 로 하시면 됩니다.
      "!=", "not"은 안됩니다.
      감사합니다.

  3. 위에 표시된 예시에서 특정 날짜의 아트박스의 노트 판매 수량을 구하려면 앞에 IF 함수 써줘야하나요?

    1. 안녕하세요. IF를 사용해도 되는데 SUM하는 조건이 여러 개 이면 다음과 같이 SUMIFS함수를 쓰면 편리합니다. SUMIF함수에 S가 붙은 형태입니다.
      =SUMIFS(E4:E11,C4:C11,"신촌 아트박스",D4:D11,"노트", B4:B11,DATE(2017,7,2))
      거래처가 "신촌 아트박스"이고 상품이 "노트"이고 판매일자가 2017-7-2인 것의 판매금액 합계를 구하는 예입니다.

      SUMIFS함수 사용법은 다음 링크를 참고하세요.
      https://xlworks.net/excel_function_sumifs/
      감사합니다.

  4. 윤창식

    sumif문에서 전체 기간 중 특정 선택일자 이전 혹은 이후를 계산하려는데 수식이 잘 걸리지 않네요.
    A B C D E F
    1 1/1 2/1 3/1 4/1 5/1 6/1
    2 10 20 30 40 50 60
    10 3/15
    1, 2열의 자료와 10A의 선택일자로 선택일 이전의 자료를 sumif 하려 할 때에
    =sumif($A$1:$F$1,"<$A$10",$A2:$F2) 의 식으로 작성했는데 혹시 어떤 부분이 잘못 되었을까요?

    1. =SUMIF($A$1:$F$1,"<" & $A$10,$A2:$F2) 로 하시면 됩니다. 범위를 쌍따옴표로 둘러싸면 범위로 인식이 안됩니다. 그래서 연산자만 따옴표로 둘러싸야 합니다.

  5. 정성학

    안녕하세요. 제가 가계부를 작성 중에 '현금'과 '카드'지출만을 구하기 위해
    =SUMIF(G9:G1500, "", D9:D1500)+SUMIF(G9:G1500, "*현금*", D9:D1500)+SUMIF(G9:G1500, "*카드*", D9:D1500)
    이런 식으로 함수를 구성했습니다.
    그런데 이렇게 되니 '현금 카드'나'현금카드'입력시 두배로 카운트되더라고요!
    혹시 도움주실 수 있을까요?
    좋은 정보 감사합니다.

    1. 안녕하세요. 현금과 카드의 지출을 각각 구하는데 "현금카드"와 같이 2개의 의미가 동시에 포함된 경우는 용어를 변경하셔야 할 것 같습니다. 현금카드 => Cash카드 등으로 하면 되지 않을까 합니다.
      감사합니다.

  6. 예를 들어 3만원 이상 10만원 미만에 합계를 구할때는 어떻게 해야 될까요?

    1. SUMIFS함수를 사용하시면 됩니다.
      =SUMIFS(E4:E11,E4:E11,”>=30000″,E4:E11,”<100000")
      혹시 수식이 작동안되면 쌍따옴표를 키보드에 있는 것으로 다시 입력해 보세요.
      감사합니다.

  7. 거의 같은 내용으로 수식을 걸어도 0만 나오는 경우는 뭐가 잘못된건가요...?

    1. 화면에 보이는대로 입력하면 가끔 안될 수 있습니다. 혹시 수식이 작동안되면 쌍따옴표를 키보드에 있는 것으로 다시 입력해 보세요.
      감사합니다.

        1. 가끔 웹화면에 표시된 쌍따옴표가 엑셀수식에서 사용하는 쌍따옴표랑 달라서 그대로 복사해서 사용하면 오류가 나는 경우가 있습니다. 이 때는 키보드에 있는 상따옴표로 다시 입력하면 해결됩니다.

  8. 안녕하세요 좋은자료 감사합니다 많은 참고가 되었습니다 내용에 안나와있는 부분이라 아마 안될 것 같은데 혹시 이런것도 가능한가요?

    =SUMIF(C4:C11,”신촌 아트박스“,E4:E11)일 때 "신촌 아트박스" 부분을 D18로 해서 D18의 내용을 바꾸면 편하다, 고 하셨고, "XX 아트박스"로 아트박스를 포함하는 값들을 구하고자하면 "*아트박스"잖아요

    혹시 D18같이 셀적용(?)을 할때도 별(*)이 유효한 방법이 있나요? *D18 같이...?

  9. 혹시 '신촌아트박스'처럼 설정하지 않고 거래처명에 따라 알아서 합산해주려고 하면 어떻게 해야 할까요?
    (-제가 하고 싶은 것은 이름에 따른 여러 행과 열의 총점수를 합산하는 것입니다...이름이 가나다순으로 정렬되어 있는데 각각의 총계를 빨리 구할 수 있는 방법이 궁금합니다. .)

  10. 김유경

    혹시 '신촌아트박스'처럼 설정하지 않고 거래처명에 따라 알아서 합산해주려고 하면 어떻게 해야 할까요?
    (-제가 하고 싶은 것은 이름에 따른 여러 행과 열의 총점수를 합산하는 것입니다...이름이 가나다순으로 정렬되어 있는데 각각의 총계를 빨리 구할 수 있는 방법이 궁금합니다. .)

    1. 부분합 기능으로 해결할 수 있을 것 같습니다.
      다음 순서로 해 보세요.
      1. 실습용 엑셀파일(엑셀함수_SUMIF_조건을_만족하는_범위의_합계구하기.xlsx)의 "SUMIF함수"시트의 B3:E11 범위를 마우스로 선택
      2. 리본메뉴에서 데이터탭 > 오른쪽에 위치한 "부분합" 메뉴 클릭
      3. 팝업창에서 그룹화할 항목은 "거래처명"선택, 사용할 함수는 "합계", 부분합 계산항목은 "판매금액"선택
      4. 확인버튼 클릭
      위와 같이 하면 거래처별로 요약줄이 하나 씩 생기고 판매금액 합계가 구해집니다. 단, 자료는 거래처별로 정렬이 되어 있어야 합니다.

  11. 앞부분 범위를 품목의 물품들만(=sumif(c4:c11, )) 적용시 값이 잘 나오는데
    카테고리까지 적용시 (=sumif(c3:c11, )) 더해진 값이 1/2가 되는데 왜이런건가요?

    앞부분 범위 적용시 데이터베이스 함수처럼 그냥 상자 전체를 범위로(=sumif(b3:e11, )) 잡으면 안되나요?

    1. sumif함수 사용시 두번째, 세번째 조건도 첫번째 조건과 동일한 동일한 행범위를 참조하도록 해야 합니다. 아마도 첫번째 조건만 c3부터 참고하고 두번째 조건은 c4부터 참조하도록 그대로 둔것 같습니다.

  12. asd2esada

    안녕하세요 두 번째 셀명으로 조건설정할 때 조건범위랑 찾을범위를 절대값으로 구성한 이유가 있을까요?

    1. 안녕하세요. 절대참조를 하면 E18,E19,E20셀에 입력된 수식이 참조하는 범위가 동일하므로 복사해서 붙여 넣어도 참조 범위가 바뀌지 않아서 편리합니다. 만약 상대참조로 입력하고 수식을 복사하면 참조범위가 바뀌어서 일일이 수정해 주어야 하는 불편함이 있습니다.

  13. 김영환

    안녕하세요
    이런 경우 어떤 함수를 사용하면 좋을지 궁금합니다.
    강남100
    강서 100
    강동 100
    강민 10
    강로 50
    위 표에서 강남,강민,강로만의 합을 더하는 경우
    sumifs를 사용하니 중복해서는 계산이 안됩니다.

    1. 케이스별로 sumif함수로 합계를 구해서 다 더하면 됩니다.
      =SUMIF(A1:A5,"강남",B1:B5)+SUMIF(A1:A5,"강민",B1:B5)+SUMIF(A1:A5,"강로",B1:B5)

      또는 다음과 같이 배열수식을 쓰면 됩니다. 배열수식이므로 Ctrl+Shift+Enter를 입력해야 합니다.
      =SUM(SUMIF(A1:A5,{"강남","강민","강로"},B1:B5))

  14. 블랙홀

    안녕하세요.
    "*아트박스*"
    위 부분에서 아트박스 부분을 셀참조로 할 수 있을까요? 안그러면 특정텍스트가 포함된 항목의 모든 합계를 구하려면 일일이 아트박스 부분을 수동으로 입력을 해줘야 하는데 셀참조가 가능한지 조언 부탁드려요 ㅜㅜ

    1. 안녕하세요. [D21] 셀에 '아트박스'가 입력되어 있다고 할 때 수식을 다음과 같이 입력하면 됩니다. 셀참조값 앞뒤로 &를 이용해서 *을 이어 붙이는 방식입니다.
      =SUMIF(C4:C11,"*"&D21&"*",E4:E11)

  15. 박부규

    안녕하십니까?
    나이 많아 일을 하고 있는데 잘 모르는 것이 많아 문의드리오니 답변을 부탁드립니다.
    엑셀에서 합계를 구할 때 셀을 드래그하여 아래쪽에 합계값을 구하고 있습니다.
    그런데 2번셀~ 10번셀의 합계를 1번에 구하려고 하면
    어떻게 설정해야 하는지 알려주시면 감사하겠습니다.
    안녕히계십시오.

  16. 복실복실

    이해하기 쉽게 잘 써졌네요 검색 상단에 나올만 함니당 ㅊㅊ

  17. 아트박스가 아닌 것을 찾을 때는 "아트박스" 로 하시면 됩니다.

    -> 이건 이해를 했는데, 예를 들어 A열에 50개 국가명이 있고 B열에 숫자값이 있으면, A열에서 50개 국가 이외의 값을 가진 셀의 B열 합계를 구하려면 어떻게 해야할까요?

    1. 안녕하세요. SUMIFS 함수에 조건을 50개 걸어서 합계를 구하고 전체 금액에서 빼면 되겠지만 바람직하지 않은 것 같고요, 국가를 구분하는 열을 하나 넣으면 어떨까 합니다. 50개의 국가는 구분 값을 'A'로 입력하고 나머지 국가는 'A'이외의 'B', 'C'...등으로 하고 수식을 다음과 같이 입력하면 될것 같습니다.

      =SUMIF(A2:A8,"<>A",C2:C8)

      예시 데이터 : A열-국가구분, B열-국가, C열-인구ㅅ
      국가구분 국가 인구
      A 가봉 1000
      A 한국 2000
      A 미국 9000
      B 영국 5000
      A 호주 3000
      C 독일 6000
      A 스페인 12000

  18. 이우재

    sheet1
    합계
    경상적
    임시적

    자료sheet
    1 300
    2 500
    3 700
    4 1000

    참조sheet
    1 경상적
    2 경상적
    3 임시적
    4 임시적
    5 경상적

    이럴때 참조 함수의 합을 구할 수 없나요...?

    1. 다음 순서로 하시면 됩니다.
      1. [자료]시트의 [C]열에 다음 수식입력하여 참조시트의 [B]열의 값을 가져옴
      =VLOOKUP(A1,참조!$A$1:$B$5,2)

      2. [Sheet]시트의 [B]열에 다음 수식을 입력하여 항목별 합계를 구함
      =SUMIF(자료!$C$1:$C$4,Sheet1!A2,자료!$B$1:$B$4)

      합계는 다음과 같이 나오네요.
      경상적 800
      임시적 1700

  19. 구맙습니다

    안녕하세요 컴활 공부하다가 이해가 안되는 부분이 생겨 질문드립니다.
    =SUMIF($C$4:$C$11,D18,$E$4:$E$11)에서 D18을 $D18로 바꾸어서 해도 관계가 없을거라는 생각이 들어
    올려주신 파일을 켜서 직접 해보니 문제가 없고 제 머리로는 이렇게 바꾸었을 때 생길 수 있는 문제가 무엇인지 모르겠더라구요..
    $D18로 바꾸어도 정답이 될 수 있을까요? 아니면 무슨 문제가 생기나요??

    1. Range가 병합되어 있어도 사용할 수 있지만 병합된 셀의 첫 번째만 인식됩니다.
      예를 들어 숫자가 들어 있는 E4 셀과 E5 셀을 병합한 후 E4 셀을 참조하면 값을 인식하지만 E5 셀을 참조하면 0으로 인식합니다.

댓글 남기기

Scroll to Top