컴활 · 엑셀 5분 읽기

SUMIF·SUMIFS·COUNTIF·COUNTIFS 차이: 인수 순서 비교

조건이 하나일 때와 여러 개일 때 합계 범위(sum_range) 위치가 왜 바뀔까요?比较 연산자 따옴표 규칙과 데이터베이스 함수(DSUM·DCOUNT)까지 한 표로 비교합니다.

이 글에서 익힐 것단일·다중 조건 집계 함수의 인수 순서와 조건 표기 규칙을 구분하기함수 역할 설명 → 함수명

조건·DB 함수 카드 9장

핵심 짚어보기

합계 범위(sum_range)가 맨 뒤인가, 맨 앞인가

조건이 1개인 SUMIF(range, criteria, [sum_range])는 조건을 검사할 범위를 먼저 적고, 실제로 더할 합계 범위를 마지막 세 번째 인수로 적습니다.

반면 조건이 여러 개인 SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, ...)는 조건 쌍이 뒤로 계속 추가되어야 하므로 합계 범위를 아예 첫 번째 인수로 고정합니다. AVERAGEIFS도 마찬가지로 평균을 구할 범위가 첫 번째 인수입니다.

COUNTIF와 COUNTIFS는 합계 범위 없이 조건 쌍만 적습니다

개수를 세는 COUNTIF(range, criteria)는 범위와 조건 2개 인수만 받습니다. 다중 조건인 COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, ...) 역시 조건 범위와 조건을 짝지어 나열하면 모든 조건을 동시에 만족(AND)하는 행의 개수를 셉니다.

예제 표에서 B2:B5가 부서(영업, 기획, 영업, 영업), C2:C5가 실적(120, 90, 80, 150)일 때 =COUNTIFS(B2:B5, "영업", C2:C5, ">=100")은 영업부이면서 100 이상인 2건을 반환합니다.

비교 연산자와 셀 주소를 결합할 때는 & 기호를 씁니다

조건에 숫자 상수를 바로 쓸 때는 ">=100"처럼 비교 연산자와 숫자를 한꺼번에 큰따옴표로 묶어도 됩니다.

하지만 기준값이 G1 셀에 들어 있어서 셀 주소를 참조해야 할 때 ">=G1"이라고 적으면 엑셀은 글자 'G1'과 비교해 버립니다. 반드시 ">="&G1 또는 ">="&AVERAGE(C2:C5)처럼 비교 연산자 문자열과 셀/수식을 & 연산자로 연결해야 합니다.

데이터베이스 함수(DSUM·DCOUNT·DGET)는 열 머리글을 포함한 표 전체를 줍니다

DSUM, DAVERAGE, DCOUNT, DGET 함수는 인수가 항상 (database, field, criteria) 3개로 동일합니다. 첫 번째 인수 database에는 반드시 1행의 열 제목(필드명)을 포함한 전체 표 범위를 지정해야 합니다.

세 번째 인수 criteria 역시 열 제목과 조건 셀이 함께 들어 있는 별도 조건 범위(예: E1:F2)를 가리킵니다. DCOUNT는 지정한 열에서 숫자가 들어 있는 셀만 세고, 문자까지 포함한 비어 있지 않은 셀은 DCOUNTA로 셉니다.

한눈에 정리

조건 집계 함수와 데이터베이스 함수 구문 비교

조건 집계 함수와 데이터베이스 함수 구문 비교
함수인수 순서핵심 주의점
SUMIF(조건범위, 조건, [합계범위])합계 범위가 세 번째(마지막)
SUMIFS(합계범위, 조건범위1, 조건1, ...)합계 범위가 첫 번째(맨 앞)
COUNTIF / COUNTIFS(조건범위1, 조건1, ...)합계 범위 없이 조건 쌍만 나열
AVERAGEIFS(평균범위, 조건범위1, 조건1, ...)평균 구할 범위가 첫 번째
DSUM / DCOUNT / DGET(전체표범위, 열번호/열이름, 조건범위)전체표와 조건범위 모두 열 머리글 포함

직접 풀어보기

예제로 확인하기

01SUMIF와 SUMIFS 수식 나란히 고치기

A2:A5(지역: 서울, 부산, 서울, 서울), B2:B5(구분: 신규, 기존, 기존, 신규), C2:C5(금액: 100, 80, 150, 200)

지역이 "서울"이고 구분이 "신규"인 금액 합계(300)를 구하는 SUMIFS 수식은 무엇인가요?

정답과 풀이 근거
=SUMIFS(C2:C5, A2:A5, "서울", B2:B5, "신규")

다중 조건 합계이므로 합계 범위 C2:C5를 맨 앞에 두고, (A2:A5, "서울")과 (B2:B5, "신규") 조건 쌍을 차례대로 적습니다.

02평균 이상인 행의 개수 세기

C2:C10 범위에 시험 점수가 들어 있습니다. 이 범위의 평균 점수 이상인 학생 수를 COUNTIF로 구하려고 합니다.

=COUNTIF(C2:C10, ______) 빈칸에 들어갈 올바른 조건 식은 무엇인가요?

정답과 풀이 근거
">="&AVERAGE(C2:C10)

">=AVERAGE(C2:C10)"처럼 따옴표 안에 함수를 넣으면 문자열로 인식됩니다. 비교 연산자 ">="와 함수를 &로 연결해야 계산된 평균값과 비교합니다.

마지막 점검

스스로 확인하기

답을 떠올린 뒤 해설을 펼쳐 보세요.

1SUMIFS(A, B, C, D, E)에서 실제로 값을 더할 숫자 범위는 몇 번째 인수인가요?
첫 번째 인수 (A)

SUMIFS는 첫 번째 인수가 sum_range이고, 그 뒤로 (조건범위, 조건) 쌍이 이어집니다.

2COUNTIF에서 E1 셀의 값보다 큰 셀의 개수를 셀 때 조건 인수 표기는?
">"&E1

비교 연산자 문자열(">")과 셀 참조(E1)를 & 연산자로 묶어야 합니다.

3데이터베이스 함수에서 조건을 만족하는 '유일한 1개의 값'을 추출하며, 조건에 맞는 행이 2개 이상이면 #NUM! 오류를 반환하는 함수는?
DGET

DGET(database, field, criteria)은 조건에 맞는 레코드가 정확히 1개일 때 해당 필드 값을 반환합니다.

4DCOUNT와 DCOUNTA 중 지정한 필드에서 숫자 셀의 개수만 세는 함수는?
DCOUNT

DCOUNT는 숫자만 세고, DCOUNTA는 문자나 논리값을 포함한 비어 있지 않은 셀을 모두 셉니다.

읽기에서 연습으로

이어서 연습하기

조건·DB 함수 카드 9장

함수 역할 설명 → 함수명. 본문과 연결된 9개 문항을 순서대로 확인합니다. 카드의 알아요·몰라요는 자기평가이며 같은 뜻의 다른 답도 해설과 비교해 주세요.

조건·DB 함수 카드 9장 시작

아래는 전체 세트의 첫 10개를 여는 넓은 범위 복습입니다. 위의 선별 연습과 시작 문항이 다를 수 있습니다.

전체 메뉴