엑셀 합계 함수 SUM·SUMIF·SUMIFS — 조건 1개·여러 개로 더하는 법(예제 표)
=SUM(범위), 조건 하나에 맞는 값만 더할 때는 =SUMIF(조건범위, 조건, 합계범위), 조건 두 개 이상을 모두 만족하는 값만 더할 때는 =SUMIFS(합계범위, 조건범위1, 조건1, 조건범위2, 조건2)를 씁니다. SUMIF는 합계범위가 세 번째, SUMIFS는 첫 번째 인수라는 점이 가장 헷갈리는 차이입니다.SUM·SUMIF·SUMIFS 중 무엇을 쓰나
조건이 없으면 SUM, 조건이 하나면 SUMIF, 조건이 둘 이상이면 SUMIFS를 고르면 됩니다. 세 함수의 형식은 마이크로소프트 문서 기준으로 다음과 같습니다.
| 함수 | 형식 | 언제 쓰나 |
|---|---|---|
| SUM | =SUM(number1, [number2], …) | 범위·셀·숫자를 모두 더할 때 (인수 최대 255개) |
| SUMIF | =SUMIF(range, criteria, [sum_range]) | 조건 1개에 맞는 행만 더할 때 |
| SUMIFS | =SUMIFS(sum_range, criteria_range1, criteria1, …) | 조건 여러 개를 모두 만족하는 행만 더할 때 (조건 쌍 최대 127개) |
SUMIFS는 조건이 하나여도 쓸 수 있습니다. 나중에 조건을 늘릴 일이 있다면 처음부터 SUMIFS로 써 두는 편이 인수 순서를 바꿔 쓰는 실수를 줄입니다.
이 글의 예제 표
아래 판매 기록이 A1:D9에 있다고 가정합니다. 1행은 머리글이고, 실제 데이터는 2행부터 9행까지입니다. 금액 단위는 원입니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 지역 | 담당자 | 품목 | 금액(원) |
| 2 | 서울 | 김민수 | 사과 | 120,000 |
| 3 | 부산 | 이지은 | 배 | 80,000 |
| 4 | 서울 | 이지은 | 사과 | 50,000 |
| 5 | 대구 | 김민수 | 포도 | 70,000 |
| 6 | 서울 | 김민수 | 배 | 30,000 |
| 7 | 부산 | 김민수 | 사과 | 90,000 |
| 8 | 대구 | 이지은 | 사과즙 | 40,000 |
| 9 | 서울 | 이지은 | 포도 | 60,000 |
아래 모든 결과는 이 표로 계산한 값입니다. 각 결과는 파이썬으로 같은 조건을 다시 계산해 맞춰 보았습니다.
SUM: 범위를 전부 더하기
금액 전체 합계는 =SUM(D2:D9)이고 결과는 540,000입니다. 범위는 쉼표로 여러 개 넣을 수 있어서 =SUM(D2:D4,D7:D9)처럼 떨어진 구간도 한 번에 더합니다.
| 목적 | 수식 | 결과(원) |
|---|---|---|
| 금액 전체 | =SUM(D2:D9) | 540,000 |
| 2~4행과 7~9행만 | =SUM(D2:D4,D7:D9) | 440,000 |
마이크로소프트 문서는 =D2+D3+D4…처럼 +로 셀을 하나씩 잇는 대신 SUM에 범위를 넣으라고 권합니다. 이유는 세 가지입니다.
- SUM은 범위 안의 텍스트를 무시하고 숫자만 더하지만,
+수식은 텍스트가 든 셀을 참조하면#VALUE!오류가 날 수 있습니다. - 범위 중간에 행을 넣거나 지우면 SUM의 범위는 따라 바뀌지만,
+수식은 늘어나지 않고 참조한 행을 지우면#REF!가 날 수 있습니다. - 숫자를 수식에 직접 써 넣으면 잘못 쳐도 찾기 어렵습니다. 값은 셀에 두고 셀을 참조합니다.
여기서 「텍스트를 무시한다」는 것은 셀 참조·범위로 넣은 값에 대한 이야기입니다. 마이크로소프트의 SUM 설명(VBA 문서의 Remarks)은 인수가 범위나 참조이면 그 안의 숫자만 더하고 빈 셀·논리값·텍스트는 무시한다고 적고 있습니다. 그래서 셀에 텍스트로 저장된 숫자(예: 텍스트 형식 셀에 입력한 100)는 범위 합계에서 빠집니다. 반대로 =SUM("3",2)처럼 숫자 모양의 글자를 인수에 직접 써 넣으면 숫자로 계산되어 5가 됩니다. 범위 합계가 눈으로 더한 값보다 작다면 텍스트로 저장된 숫자가 섞였는지 먼저 봅니다(아래 확인 목록).
SUMIF: 조건 하나로 더하기
SUMIF는 조건범위에서 조건에 맞는 행을 찾아, 같은 행의 합계범위 값을 더합니다. 인수는 세 개입니다.
| 인수 | 뜻 | 예제에서 |
|---|---|---|
| range (조건범위) | 조건을 검사할 셀 | 지역이면 A2:A9 |
| criteria (조건) | 더할 행을 고르는 조건 | "서울" |
| sum_range (합계범위, 생략 가능) | 실제로 더할 셀 | D2:D9 |
| 목적 | 수식 | 결과(원) |
|---|---|---|
| 서울 지역 금액 | =SUMIF(A2:A9,"서울",D2:D9) | 260,000 |
| 품목이 「사과」인 금액 | =SUMIF(C2:C9,"사과",D2:D9) | 260,000 |
| 금액이 70,000원 이상인 것만 | =SUMIF(D2:D9,">=70000") | 360,000 |
세 번째 줄처럼 조건을 검사하는 열과 더하는 열이 같으면 합계범위를 생략할 수 있습니다. 생략하면 엑셀은 조건범위의 셀을 그대로 더합니다. 70,000원 이상인 금액은 120,000·80,000·70,000·90,000이고 합은 360,000입니다.
A2:A9와 짝지을 합계범위는 D2:D9처럼 같은 행에서 시작하고 끝나게 맞춥니다.조건은 어떻게 쓰나 (따옴표·비교·와일드카드·셀 참조)
조건이 글자이거나 >·<·= 같은 기호를 포함하면 큰따옴표로 감쌉니다. 숫자 하나만 쓸 때는 따옴표가 없어도 됩니다. SUMIF와 SUMIFS의 조건 쓰는 법은 같습니다.
| 조건 모양 | 뜻 | 예제 수식 | 결과(원) |
|---|---|---|---|
"서울" | 서울과 같음 | =SUMIF(A2:A9,"서울",D2:D9) | 260,000 |
"<>서울" | 서울이 아님 | =SUMIF(A2:A9,"<>서울",D2:D9) | 280,000 |
">=70000" | 70,000 이상 | =SUMIF(D2:D9,">=70000") | 360,000 |
"사*" | 「사」로 시작(사과, 사과즙) | =SUMIF(C2:C9,"사*",D2:D9) | 300,000 |
">="&F1 | F1 셀 값 이상 | F1에 70000이 있을 때 =SUMIF(D2:D9,">="&F1) | 360,000 |
- 와일드카드:
?는 아무 글자 한 개,*는 아무 글자 여러 개(0개 포함)를 뜻합니다. 진짜 물음표나 별표를 찾으려면 앞에 물결표를 붙여~?,~*로 씁니다. 「사과」와 정확히 같은 행만 더하는"사과"는 260,000이지만,"사*"는 사과즙(40,000)까지 포함해 300,000이 됩니다. - 셀 값을 조건에 넣기: 비교 기호와 셀을
&로 이어 붙입니다.">=F1"처럼 셀 주소까지 따옴표 안에 넣으면 「F1이라는 글자」와 비교하게 되어 원하는 결과가 나오지 않습니다. 조건이 단순히 「F1과 같음」이면=SUMIF(A2:A9,F1,D2:D9)처럼 셀만 써도 됩니다. - 255자 제한: 마이크로소프트 문서에 따르면 SUMIF는 255자보다 긴 문자열을 비교할 때 잘못된 결과를 돌려줍니다.
SUMIFS: 조건 여러 개로 더하기
SUMIFS는 모든 조건을 동시에 만족하는 행의 값만 더합니다. 합계범위를 맨 앞에 쓰고, 그 뒤에 「조건범위, 조건」을 짝으로 이어 붙입니다.
=SUMIFS(합계범위, 조건범위1, 조건1, 조건범위2, 조건2, …)
| 목적 | 수식 | 결과(원) |
|---|---|---|
| 서울 + 담당자 김민수 | =SUMIFS(D2:D9,A2:A9,"서울",B2:B9,"김민수") | 150,000 |
| 김민수 + 사과가 아닌 품목 | =SUMIFS(D2:D9,B2:B9,"김민수",C2:C9,"<>사과") | 100,000 |
| 서울 + 사과 + 60,000원 이상 | =SUMIFS(D2:D9,A2:A9,"서울",C2:C9,"사과",D2:D9,">=60000") | 120,000 |
| 금액이 50,000 초과 100,000 미만 | =SUMIFS(D2:D9,D2:D9,">50000",D2:D9,"<100000") | 300,000 |
첫 줄은 2행(120,000)과 6행(30,000)이 두 조건을 모두 만족해 150,000입니다. 넷째 줄처럼 같은 열에 조건을 두 번 걸면 「~보다 크고 ~보다 작은」 구간 합계를 구할 수 있습니다. 해당하는 값은 80,000·70,000·90,000·60,000이고 합은 300,000입니다.
(조건범위, 조건, 합계범위), SUMIFS는 (합계범위, 조건범위, 조건, …)입니다. 마이크로소프트 문서도 이 순서 혼동을 흔한 실수로 꼽습니다. SUMIF 수식에 조건을 하나 더하려고 SUMIFS로 바꿀 때 합계범위를 맨 앞으로 옮겼는지 확인하세요.SUMIFS에서도 모든 조건범위는 합계범위와 행 수와 열 수가 같아야 합니다. 위 예제는 모두 2행부터 9행까지로 맞췄습니다. 수식을 아래로 복사해 지역별 합계표를 만들 때는 범위를 $D$2:$D$9처럼 절대 참조로 고정합니다. $ 고정과 F4 키 쓰는 법은 VLOOKUP 사용법 글의 범위 고정 절에 정리해 두었습니다.
| F | G (수식) | G 결과(원) | |
|---|---|---|---|
| 2 | 서울 | =SUMIFS($D$2:$D$9,$A$2:$A$9,F2) | 260,000 |
| 3 | 부산 | =SUMIFS($D$2:$D$9,$A$2:$A$9,F3) | 170,000 |
| 4 | 대구 | =SUMIFS($D$2:$D$9,$A$2:$A$9,F4) | 110,000 |
세 지역 합계(260,000 + 170,000 + 110,000)는 전체 합계 540,000과 같습니다. 지역별 합계를 더해 전체와 맞춰 보는 것은 조건 누락을 찾는 간단한 점검 방법입니다.
「서울 또는 부산」처럼 OR 조건은?
SUMIFS의 조건은 모두 「그리고(AND)」로 묶이므로, 한 열에서 「서울 또는 부산」을 고르려면 조건마다 따로 더한 뒤 합칩니다.
=SUMIF(A2:A9,"서울",D2:D9)+SUMIF(A2:A9,"부산",D2:D9)
결과는 260,000 + 170,000 = 430,000입니다. 한 행이 두 조건에 동시에 걸릴 수 없는 경우(같은 열의 서로 다른 값)에만 이렇게 단순히 더할 수 있습니다. 서로 다른 열의 조건을 「또는」으로 묶으면 두 조건에 모두 맞는 행이 두 번 더해질 수 있으니 주의합니다.
합계가 0이거나 틀릴 때 확인할 것
| 증상 | 확인할 것 |
|---|---|
| SUMIFS 결과가 0 | 글자 조건에 큰따옴표를 붙였는지, 인수 순서(합계범위가 첫 번째인지)를 확인합니다. 마이크로소프트 문서도 글자 조건에 따옴표가 없으면 0이 나올 수 있다고 안내합니다. |
| 조건에 맞는 행이 있는데 빠짐 | 표의 값에 앞뒤 공백이 있거나 「서울 」처럼 글자가 미세하게 다른지 봅니다. 정확히 같은 글자만 일치로 봅니다. |
| SUM 합계가 눈으로 더한 값보다 작음 | 숫자가 텍스트로 저장된 셀이 섞여 있는지 봅니다. SUM은 범위 안의 텍스트 값을 더하지 않습니다. 의심되는 셀을 골라 =ISTEXT(D2)처럼 확인하면 TRUE가 나옵니다. |
| SUMIF 결과가 엉뚱한 값 | 합계범위와 조건범위의 크기·시작 행이 같은지 봅니다. 다르면 합계범위의 첫 셀부터 조건범위 크기만큼 더해집니다. |
| 복사한 수식만 틀림 | 범위에 $를 붙이지 않아 아래로 밀렸는지 봅니다. |
숫자를 입력했는데 날짜로 바뀌어 합계가 이상해지는 경우는 엑셀 숫자가 날짜로 바뀔 때 막는 법을 참고하세요.