=COUNTIFS(A2:A7,"North",C2:C7,">50")는 A열이 North이고 C열이 50보다 큰 행을 셉니다. COUNTIFS는 범위와 조건을 쌍으로 받고, 모든 조건이 맞는 행만 셉니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | North, over 50 | 2 | |
| 3 | South | Pear | 45 | North Apple | 2 | |
| 4 | North | Pear | 80 | North only | 3 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
North 행은 세 개이고 그중 두 개가 50을 넘으므로 F2는 2를 보여 줍니다. C7을 90으로 바꾸면 마지막 North 행도 개수에 들어갑니다. F3은 텍스트 조건 두 개, North와 Apple을 짝지었습니다.
COUNTIFS 구문
=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
- 각 조건은 범위와 조건의 쌍입니다. 최대 127쌍까지 쓸 수 있습니다.
- 조건은 COUNTIF와 똑같이 동작합니다:
"North",">50","<>","*apple*", 또는">"&F2처럼 연산자에&로 연결한 셀입니다. - 모든 범위는 크기가 같아야 합니다. 범위는 행 단위로 읽힙니다. 각 범위의 첫 번째 셀이 한 행이 되고, 각 범위의 두 번째 셀이 다음 행이 됩니다.
- 조건은 AND로 묶입니다. OR은 아래를 보세요.
COUNTIFS는 Excel 2007 이후의 모든 버전과 Google 스프레드시트에 있습니다.
두 숫자 사이를 세는 COUNTIFS
어떤 구간 안의 값을 세려면 같은 범위를 두 번 쓰고, 한 번은 하한을, 한 번은 상한을 줍니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Setting | Value | |
| 2 | North | Apple | 120 | Min | 50 | |
| 3 | South | Pear | 45 | Max | 150 | |
| 4 | North | Pear | 80 | Between | 3 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
120, 80, 55가 50에서 150 사이에 들어가므로 F4는 3을 보여 줍니다. F2와 F3의 경계를 바꾸면 개수가 따라 바뀝니다. ">="와 "<="는 경계를 포함하고, 경계를 빼려면 ">"와 "<"를 씁니다.
두 날짜 사이를 세는 COUNTIFS
날짜도 같은 방법으로 셉니다. 시작일과 종료일을 셀에 두고 연산자에 연결하면 따옴표 안에 날짜를 직접 쓸 일이 없습니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Sales | Date | Setting | Value | |
| 2 | North | 120 | 2026-01-05 | Start | 2026-02-01 | |
| 3 | South | 45 | 2026-01-12 | End | 2026-02-28 | |
| 4 | North | 80 | 2026-02-03 | Orders | 2 | |
| 5 | East | 55 | 2026-02-18 | North orders | 1 | |
| 6 | South | 200 | 2026-03-02 | |||
| 7 | North | 30 | 2026-03-20 |
2월에 들어가는 주문은 두 개이고 그중 하나가 North입니다. F5에는 쌍이 세 개 있습니다. 하나는 지역용, 두 개는 날짜 구간용입니다. 날짜에 시간이 붙어 있으면(2026-02-28 16:30) "<="&F3는 마지막 날 0:00 이후를 모두 놓칩니다. 이럴 때는 "<"&F3+1을 쓰세요.
OR 조건을 쓰는 COUNTIFS
COUNTIFS에는 OR이 없습니다. 50을 넘는 North 또는 South 주문을 세려면 지역 조건에 중괄호로 목록을 줍니다. 그러면 COUNTIFS가 항목마다 개수를 하나씩 반환하고, SUM이 그것을 더합니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | North or South, over 50 | 3 | |
| 3 | South | Pear | 45 | Same, two COUNTIFS | 3 | |
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
두 수식 모두 3을 냅니다. 50을 넘는 North 행 두 개와 South 행 하나입니다. 목록이 길어지면 중괄호 방식이 더 짧습니다. 목록은 조건 하나에만 쓰세요. 한 수식에 목록이 두 개 있으면 모든 조합을 시도하지 않고 항목끼리 짝을 지으므로, 원하는 결과가 나오는 경우는 드뭅니다.
항목이 셀에 있으면(예를 들어 E8:E9) =SUMPRODUCT(COUNTIFS(A2:A7,E8:E9,C2:C7,">50"))가 중괄호 없이 같은 일을 합니다.
빈 셀을 제외하는 COUNTIFS
"<>"는 "비어 있지 않음", ""는 "비어 있음"을 뜻하므로 배송일 열을 보면 어떤 주문이 아직 남아 있는지 알 수 있습니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Order | Shipped | Condition | Count | |
| 2 | North | A-101 | 2026-01-08 | North, shipped | 2 | |
| 3 | South | A-102 | North, not shipped | 1 | ||
| 4 | North | A-103 | 2026-02-06 | |||
| 5 | East | A-104 | 2026-02-20 | |||
| 6 | South | A-105 | ||||
| 7 | North | A-106 |
North 주문 두 개에는 배송일이 있고 하나에는 없습니다. C7에 날짜를 입력하면 개수가 F3에서 F2로 옮겨 갑니다. 빈 문자열("")을 반환하는 수식은 ""에도, "<>"에도 세어집니다. 해결 방법은 COUNTIF로 빈 셀이 아닌 셀 세기에 있습니다.
연습: 조건 두 개
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | South Apple | ||
| 3 | South | Pear | 45 | |||
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 | |||
| 8 | South | Apple | 75 |
직접 해 보세요: 지역이 South이고 상품이 Apple인 행을 세세요. 수식은 F2에 쓰세요.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Sales | Date | Setting | Value | |
| 2 | North | 120 | 2026-01-05 | Start | 2026-01-01 | |
| 3 | South | 145 | 2026-01-12 | End | 2026-02-28 | |
| 4 | North | 80 | 2026-02-03 | Count | ||
| 5 | East | 155 | 2026-02-18 | |||
| 6 | South | 200 | 2026-03-02 | |||
| 7 | North | 30 | 2026-03-20 | |||
| 8 | West | 110 | 2026-02-25 |
직접 해 보세요: F2의 날짜부터 F3의 날짜까지(둘 다 포함) 매출이 100 이상인 주문을 세세요. 수식은 F4에 쓰세요.
COUNTIFS가 #VALUE!나 0을 반환하는 이유
- 크기가 다른 범위.
=COUNTIFS(A2:A7,"North",C2:C6,">50")는 A2:A7이 여섯 셀이고 C2:C6이 다섯 셀이므로#VALUE!를 반환합니다. 모든 범위가 같은 행에서 시작하고 끝나게 하세요. - 절대 참이 될 수 없는 AND.
=COUNTIFS(A2:A7,"North",A2:A7,"South")는 항상 0입니다. 셀 하나가 두 값일 수는 없습니다. 이것은 OR이므로 위의 중괄호 방식을 쓰세요. - 따옴표 안에 입력한 날짜.
">=1/2/2026"은 시스템의 날짜 순서로 읽힙니다. 날짜를 셀에 넣고">="&F2로 쓰세요. - 따옴표 안의 연산자와 셀.
">=F2"는 F2라는 텍스트와 비교합니다.">="&F2로 쓰세요.
COUNTIFS는 행을 셉니다. 같은 행의 열 값을 더하려면 인수가 거의 같은 SUMIFS를 쓰고, COUNTIFS로 표현할 수 없는 조건(한 열을 다른 열과 비교, 행마다 계산)에는 SUMPRODUCT를 쓰세요.
자주 묻는 질문
COUNTIF와 COUNTIFS의 차이는 무엇인가요?
COUNTIF는 범위 하나와 조건 하나를 받습니다. COUNTIFS는 범위와 조건 쌍을 원하는 만큼 받아 모든 조건이 맞는 행을 셉니다: =COUNTIFS(A2:A7,"North",C2:C7,">50"). 쌍이 하나뿐이면 COUNTIFS는 COUNTIF와 같은 결과를 냅니다.
COUNTIFS로 두 날짜 사이를 세려면 어떻게 하나요?
날짜 열을 두 번 쓰고 각각에 경계를 하나씩 줍니다. =COUNTIFS(C2:C7,">="&F2,C2:C7,"<="&F3)는 F2부터 F3까지의 날짜를 셉니다. 두 날짜 모두 포함됩니다.
COUNTIFS에서 OR 조건은 어떻게 쓰나요?
COUNTIFS는 조건을 항상 AND로 묶습니다. OR이 필요하면 조건 하나에 중괄호로 목록을 주고 결과를 더합니다: =SUM(COUNTIFS(A2:A7,{"North","South"},C2:C7,">50")).
COUNTIFS가 #VALUE!를 반환하는 이유는 무엇인가요?
범위의 크기가 다르기 때문입니다. COUNTIFS의 모든 범위는 행과 열의 수가 같아야 하므로 A2:A7과 C2:C6을 짝지을 수 없습니다.
COUNTIFS로 두 숫자 사이의 값을 세려면 어떻게 하나요?
같은 범위를 두 번 쓰고 경계를 하나씩 줍니다. =COUNTIFS(C2:C7,">=50",C2:C7,"<=150")는 50부터 150까지의 값을 셉니다. 두 경계 모두 포함됩니다. 경계를 빼려면 ">"와 "<"를 쓰세요.