Menu

엑셀 COUNTIF로 빈 셀이 아닌 셀 개수 세기

=COUNTIF(B2:B8,"<>")는 B2:B8에서 비어 있지 않은 셀을 세며 COUNTA와 같은 값을 냅니다. COUNTIFS로 다른 조건을 더하는 방법과 비어 보이기만 하는 셀을 처리하는 방법을 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=COUNTIF(B2:B8,"<>")는 B2:B8에서 비어 있지 않은 셀을 셉니다. <>는 "같지 않음"을 뜻하고, 뒤에 아무것도 없으면 빈 셀과 비교합니다. =COUNTA(B2:B8)도 같은 숫자를 냅니다.

값이 있는 셀 세기
F2
ABCDEF
1NameEmailPhoneCountResult
2Anaana@mail.com555-0101Emails, COUNTIF5
3Ben555-0102Emails, COUNTA5
4Caracara@mail.comMissing emails2
5Dandan@mail.com555-0104Phones4
6EvaRows7
7Finnfinn@mail.com555-0106
8Gusgus@mail.com
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

연락처 일곱 개 중 다섯 개에 이메일이 있으므로 F2와 F3은 모두 5를 보여 주고, COUNTBLANK는 빠진 두 개를 셉니다. 값이 있는 셀과 빈 셀의 개수를 더하면 항상 F6의 행 수가 됩니다. B3에 이메일을 입력하면 F2는 하나 늘고 F4는 하나 줄어듭니다.

COUNTIF 빈 셀 제외와 COUNTA 비교

범위가 하나라면 =COUNTIF(B2:B8,"<>")와 =COUNTA(B2:B8)는 같은 셀, 즉 비어 있지 않은 모든 셀을 셉니다. 숫자, 날짜, TRUE/FALSE, 오류 값도 포함됩니다. COUNTA가 더 짧습니다. "<>" 형태는 두 번째 조건이 필요할 때를 위해 있습니다. COUNTA는 조건을 받을 수 없지만 COUNTIFS는 받을 수 있기 때문입니다.

COUNT는 다른 함수입니다. 숫자와 날짜만 세므로 이름 열에서는 0이 나옵니다. 세 함수는 COUNT와 COUNTA에서 비교합니다.

빈 셀 제외의 반대는 ""입니다. =COUNTIF(B2:B8,"")는 COUNTBLANK처럼 빈 셀을 셉니다.

다른 조건과 함께 빈 셀을 제외하는 COUNTIFS

"<>"를 COUNTIFS 조건 중 하나로 씁니다. 아래에서는 배송일이 있으면 주문이 발송된 것입니다.

빈 셀 제외와 다른 조건
F2
ABCDEF
1RegionOrderShippedConditionCount
2NorthA-1012026-01-08North, shipped2
3SouthA-102North, not shipped1
4NorthA-1032026-02-06Any region, shipped3
5EastA-1042026-02-20Order and date filled3
6SouthA-105
7NorthA-106
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

F2는 날짜가 있는 North 주문 두 개를, F3은 날짜가 없는 하나를 셉니다. F5는 두 열에 "<>"를 걸었으므로 두 열이 모두 채워진 행을 셉니다. 같은 조건은 SUMIFS와 AVERAGEIFS에서도 동작합니다. =SUMIFS(D2:D7,C2:C7,"<>")라고 쓰면 발송된 행의 금액 열 D만 더합니다.

비어 보이기만 하는 셀

공백이 들어 있는 셀은 비어 보이지만 텍스트를 담고 있어 "<>"와 COUNTA가 셉니다. 다른 시스템에서 붙여 넣은 데이터나 공백을 입력해 "지운" 셀에서 이런 일이 생깁니다. 공백을 잘라 내고 길이를 확인하면 눈에 보이는 내용이 있는 셀을 셀 수 있습니다.

공백은 빈 셀이 아닙니다
E2
ABCDE
1NameNoteCountResult
2Anacall backCOUNTA4
3Ben Visible content2
4CaraSpace in B3?1
5Danpaid
6Eva
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

B3에는 공백 하나, B6에는 공백 두 개가 있습니다. COUNTA는 실제 메모 두 개와 함께 이것들을 세어 4를 보여 줍니다. SUMPRODUCT 방식은 각 셀을 TRIM한 뒤 무언가 남은 셀만 세어 2를 냅니다. 셀 자체를 정리하려면 셀을 선택하고 Delete를 누르거나 도우미 열에서 TRIM을 쓰세요. 찾기 및 바꾸기로 모든 공백을 없애면 "call back"도 "callback"이 됩니다.

빈 문자열을 반환하는 수식

=IF(C2>0,C2,"") 같은 수식은 조건이 거짓이면 아무것도 보여 주지 않지만, 셀이 비어 있는 것은 아닙니다. 결과가 빈 문자열인 수식이 들어 있습니다. 개수를 세는 함수마다 이것을 다르게 처리합니다. A2:A6에 Apple, ""를 반환하는 수식, 빈 셀, 5, Pear가 있을 때 엑셀의 결과는 다음과 같습니다:

=COUNTA(A2:A6)                   4   counts the "" formula
=COUNTIF(A2:A6,"<>")             4   counts the "" formula
=COUNTBLANK(A2:A6)               2   counts the "" formula as blank
=COUNTIF(A2:A6,"")               2   counts the "" formula as blank
=SUMPRODUCT(--(LEN(A2:A6)>0))    3   counts only visible content
=COUNTIF(A2:A6,"?*")             2   counts text of at least one character

즉 수식이 든 셀은 빈 셀로도, 빈 셀이 아닌 셀로도 세어지고, COUNTA와 COUNTBLANK를 더하면 셀 수보다 커집니다. 이런 수식으로 채워진 열에서는 무언가 보이는 셀만 세는 =SUMPRODUCT(--(LEN(A2:A6)>0))로 세세요. 조건을 하나 더하면 =SUMPRODUCT((B2:B6="North")*(LEN(A2:A6)>0))입니다.

연습: 빈 셀 제외와 다른 조건

직접 해 보기: 전화번호가 있는 Paris 연락처
F2
ABCDEF
1NameCityPhoneCountResult
2AnaParis555-0101Paris with phone
3BenLyon555-0102
4CaraParis
5DanParis555-0104
6EvaLyon
7FinnNice555-0106
8GusParis
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: Paris에 있으면서 C열에 전화번호가 있는 연락처를 세세요. 수식은 F2에 쓰세요.

어떤 수식을 쓸까

세고 싶은 것수식
범위 하나에서 값이 있는 셀=COUNTA(B2:B8)
값이 있는 셀과 다른 조건=COUNTIFS(A2:A8,"North",B2:B8,"<>")
두 열이 모두 채워진 행=COUNTIFS(B2:B8,"<>",C2:C8,"<>")
공백과 "" 수식을 빼고 눈에 보이는 내용이 있는 셀=SUMPRODUCT(--(LEN(TRIM(B2:B8))>0))
값이 있는 텍스트 셀만=COUNTIF(B2:B8,"?*")
빈 셀=COUNTBLANK(B2:B8)

개수를 세지 않고 셀 하나만 검사하려면, =B2<>""는 B2에 무언가 보이면 TRUE를 반환하고, =ISBLANK(B2)는 B2가 수식도 없이 정말 비어 있을 때만 TRUE를 반환합니다.

자주 묻는 질문

COUNTIF "<>"는 COUNTA와 같나요?

범위가 하나라면 같습니다. =COUNTIF(B2:B8,"<>")와 =COUNTA(B2:B8)는 같은 셀(텍스트, 숫자, 날짜, TRUE/FALSE, 오류)을 셉니다. "<>" 형태는 다른 조건과 나란히 쓸 수 있는 COUNTIFS를 위한 것입니다.

COUNTIF에서 "<>"는 무슨 뜻인가요?

<>는 "같지 않음"이고, 뒤에 아무것도 없으면 빈 셀과 비교합니다. 그래서 "<>"는 "비어 있지 않음"을, "<>North"는 "North와 같지 않음"을 뜻합니다.

비어 있지도 않고 0도 아닌 셀은 어떻게 세나요?

=COUNTIFS(B2:B8,"<>",B2:B8,"<>0")를 씁니다. 빈 셀은 0과 같지 않으므로 "<>0" 조건만 쓰면 빈 셀도 셉니다. "<>"를 더하면 빈 셀이 빠집니다.

COUNTA가 비어 보이는 셀을 세는 이유는 무엇인가요?

그 셀은 비어 있지 않습니다. 공백이나 빈 문자열 ""를 반환하는 수식이 들어 있습니다. 눈에 보이는 내용이 있는 셀만 세려면 =SUMPRODUCT(--(LEN(TRIM(B2:B8))>0))를 쓰세요.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기