- 최초 작성일: 2013-04-08
- 최종 수정일: 2026-09-21
- 조회수: 27 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 여러 가지 기준으로 카운팅하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
죽는 것은 이미 정해진 일이기에 명랑하게 살아라.
시간은 한정되어 있기에 기회는 늘 지금이다.
울부짖는 일 따위는 오페라 가수에게나 맡겨라.
우리가 무엇인가를 시작할 기회는 늘 지금 이 순간 뿐이다.
- 니체
이번 시간에는 여러 가지 기준으로 개수를 세는 방법에 대해 살펴보겠습니다.
이름하야… Multiple Criteria Counting
아래와 같은 자료가 있습니다.
| 월 | 지역 | 유형 | 실적 |
|---|---|---|---|
| 1월 | 동부 | 기존 | 22 |
| 1월 | 북부 | 기존 | 233 |
| 1월 | 남부 | 신규 | 314 |
| 1월 | 동부 | 신규 | 410 |
| 1월 | 남부 | 기존 | 427 |
| 1월 | 북부 | 신규 | 352 |
| 1월 | 중부 | 신규 | 281 |
| 1월 | 중부 | 기존 | 250 |
| 1월 | 서부 | 기존 | 443 |
| 1월 | 서부 | 신규 | 51 |
| 2월 | 동부 | 기존 | 158 |
| 2월 | 서부 | 기존 | 221 |
| 2월 | 동부 | 신규 | 132 |
| 2월 | 서부 | 신규 | 469 |
| 2월 | 남부 | 기존 | 456 |
| 2월 | 북부 | 기존 | 478 |
| 2월 | 남부 | 신규 | 362 |
| 2월 | 북부 | 신규 | 380 |
| 3월 | 동부 | 기존 | 99 |
| 3월 | 서부 | 기존 | 41 |
| 3월 | 동부 | 신규 | 51 |
| 3월 | 중부 | 기존 | 292 |
| 3월 | 중부 | 신규 | 166 |
| 3월 | 직영 | 신규 | 40 |
| 3월 | 남부 | 신규 | 468 |
| 3월 | 남부 | 기존 | 338 |
| 3월 | 서부 | 신규 | 398 |
| 3월 | 직영 | 기존 | 454 |
| 3월 | 북부 | 신규 | 6 |
| 3월 | 북부 | 기존 | 216 |
엑셀 여러 가지 기준으로 카운팅하기, COUNTIFS·SUMPRODUCT·배열 수식
핵심 요약: 여러 가지 기준으로 카운팅하기
여러 조건의 데이터 개수를 세는 방법은 COUNTIFS 함수(Excel 2007 이상), SUMPRODUCT 함수(2007 이전), 배열 수식 세 가지입니다. And 조건은 곱하고 Or 조건은 더합니다.
-
범위 조건: 200 이상 300 미만은
=COUNTIFS(범위,">=200",범위,"<300") -
여러 열 조건:
=COUNTIFS(월,"3월",지역,"동부",실적,">=50") -
여러 항목:
{=SUM(COUNTIF(월,{"2월","3월"}))}처럼 배열 상수를 인수로 전달합니다. - 복합 조건: 조건식을 곱하고(And) 더하는(Or) 배열 수식으로 나타냅니다.
1. 실적이 200 이상 300 미만인 경우
Excel 2007 이상:
=COUNTIFS(E24:E53,">=200",E24:E53,"<300")
Excel 2007 이전:
=COUNTIF(E24:E53,">=200")-COUNTIF(E24:E53,">=300")
배열 수식 사용:
{=SUM((E24:E53>=200)*(E24:E53<300))}
결과는 세 수식 모두 6입니다.
정정: 수식의 범위
원문 수식은 범위를 E24:E46으로 적어 자료의 마지막 7행(47~53행)이 빠져 있었습니다. 위 표에는 자료 전체(E24:E53) 기준으로 바로잡았고, 이 기준에서 200 이상 300 미만인 자료는 6건입니다(원문의 5건은 E24:E46 기준 값).
배열 수식의 경우, 수식 앞뒤의 { }는 손으로 입력하는 것이 아니라
<Ctrl + Shift + Enter> 키를 함께 누르면 저절로 생긴다는 것, 잊지 않으셨지요?
2. "3월"의 "동부" 지역 중 실적이 "50 이상"인 경우
여기서부터는 셀 영역에 이름을 정의해 두고 수식에 사용했습니다.
어느 영역에 어떤 이름을 지정하였는지는 워크시트 좌측 상단에 있는
이름 상자(Name Box)에서 확인해 보세요.
월 =Preface!$B$24:$B$53
지역 =Preface!$C$24:$C$53
유형 =Preface!$D$24:$D$53
실적 =Preface!$E$24:$E$53
Excel 2007 이상:
=COUNTIFS(월,"3월",지역,"동부",실적,">=50")
Excel 2007 이전:
=SUMPRODUCT((월="3월")*(지역="동부")*(실적>=50))
배열 수식 사용:
{=SUM((월="3월")*(지역="동부")*(실적>=50))}
결과는 세 수식 모두 2입니다(3월 동부 지역의 실적 99와 51).
엑셀 2007 이전의 경우에는 Sumproduct를 이용하여 해결할 수 있겠군요.
3. "2월"과 "3월"의 자료 건수
Countif 함수 사용:
=COUNTIF(월,"2월")+COUNTIF(월,"3월")
배열 수식 사용:
{=SUM(COUNTIF(월,{"2월","3월"}))}
결과는 두 수식 모두 20입니다.
여기서는 배열 수식을 사용할 때, 2월과 3월을 중괄호 안에 넣어서 인수로 전달 해주는
방법을 사용한 점을 눈여겨 보시면 되겠습니다.
4. 3월 자료 중 서부와 북부 자료 중 실적이 100 이상인 경우
배열 수식 사용:
{=SUM((월="3월")*IF((지역="서부")+(지역="북부"),1)*(실적>=100))}
결과는 2입니다(서부 398, 북부 216).
조건이 복잡하니 수식도 덩달아 길어졌군요.
하지만 And 조건인지 Or 조건인지를 사전에 잘 생각해서 수식으로 바꿔주면 되니까
너무 겁먹지 마시기 바랍니다.^^
자, 또 뭐가 더 있을까요…
나머지는 여러분들이 응용력을 발휘해 보시기 바랍니다.
참고: 최신 Excel에서는
Excel 365와 Excel 2021 이후 버전에서는 배열 수식도 Ctrl + Shift + Enter 없이 Enter만 눌러 입력해도 계산됩니다.
정리 — 조건별 수식 한눈에 보기
| 조건 | 권장 수식 |
|---|---|
| 범위 조건(200 이상 300 미만) | =COUNTIFS(범위,">=200",범위,"<300") |
| 여러 열의 And 조건 | =COUNTIFS(월,"3월",지역,"동부",실적,">=50") |
| 여러 항목의 합 | =COUNTIF(월,"2월")+COUNTIF(월,"3월") |
| And·Or 복합 조건 | 배열 수식: 조건식을 곱하고(And) 더한다(Or) |
자주 묻는 질문 (FAQ)
Q1. 엑셀에서 여러 조건을 만족하는 데이터의 개수를 세려면 어떻게 하나요?
Excel 2007 이상에서는 COUNTIFS 함수를 사용합니다. 예를 들어 3월의 동부 지역 중 실적이 50 이상인 건수는 =COUNTIFS(월,"3월",지역,"동부",실적,">=50")로 구합니다. Excel 2007 이전 버전에서는 SUMPRODUCT나 배열 수식을 사용합니다.
Q2. COUNTIFS가 없는 이전 버전에서는 어떻게 하나요?
값의 범위 조건(200 이상 300 미만)은 =COUNTIF(범위,">=200")-COUNTIF(범위,">=300")처럼 두 COUNTIF의 차로 구하고, 여러 열의 조건은 =SUMPRODUCT((월="3월")*(지역="동부")*(실적>=50))처럼 조건을 곱해서 구합니다.
Q3. And 조건과 Or 조건은 배열 수식에서 어떻게 표현하나요?
And 조건은 조건식을 곱하고(*), Or 조건은 조건식을 더합니다(+). 3월 자료 중 서부와 북부의 실적 100 이상은 {=SUM((월="3월")*IF((지역="서부")+(지역="북부"),1)*(실적>=100))}처럼 쓰며, 배열 수식이므로 Ctrl + Shift + Enter 키로 입력합니다.
마치며
오늘은 여기까지…